2010-07-25 81 views
3

請原諒我,因爲我是一位sql noob。我試圖做一個插入使用以下,但我有一個撇號問題。我有很多記錄要插入,但很多都有相同的問題。 有逃脫他們的方法嗎?SQL中的轉義字符

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 

任何幫助非常感謝。

回答

7

'Chef d'atelier'變得'Chef d''atelier'

Just double them up

如果括在 單引號的字符串包含一個嵌入式 引號,表示與 兩個單引號的 嵌入式單引號。

0

使用這樣的事情,而不是

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'")

,或者你可以存儲你想在一個變量先插入,然後在SQL語句,而不是原始值使用變量的值。

+1

這取決於SET QUOTED_IDENTIFIER OFF,這不是默認設置,如果設置會導致其他問題(索引視圖,計算列等)http://msdn.microsoft.com/zh-cn/library/ms174393.aspx – gbn 2010-07-25 15:27:50

1

你也可以是ESCAPE子句。這使您可以定義自己的轉義字符。