可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
Please forgive me as I am a bit of an sql noob. I am trying to do an insert using the following but am having a problem with the apostrophes. I have a lots of records to insert but many have the same problem. Is there a way of escaping them?
INSERT INTO [dbo].[tb_Chefs] ([ChefHotelID], [HotelID], [ChefID], [Position], [GroupID]) VALUES(N'b809a86e-f7f2-45b2-a240-0049f51509d7' ,N'14481', N'624', N'Chef d'atelier', N'331') GO
Any help much appreciated.
回答1:
'Chef d'atelier'
becomes 'Chef d''atelier'
Just double them up
If a character string enclosed in single quotation marks contains an embedded quotation mark, represent the embedded single quotation mark with two single quotation marks.
回答2:
You can also you the ESCAPE clause. This allows you to define your own escape character.
回答3:
Use something like this instead
INSERT INTO [dbo].[tb_Chefs] ([ChefHotelID], [HotelID], [ChefID], [Position], [GroupID])
VALUES("N'b809a86e-f7f2-45b2-a240-0049f51509d7'" ,"N'14481'", "N'624'", "N'Chef d'atelier', N'331'")
OR you could store the values you want to insert in a variable first and then use the variable in the SQL statement instead of the raw value.