2012-09-26 51 views
0

我正在學習SQL我一直在試圖看看這有什麼問題,而且似乎無法弄清楚。這個簡單的SQL語句有什麼問題?

SELECT * 
FROM l_suppliers 
WHERE suppliers_name = 'frank reed's vegetables'; 
+0

瑞秋:歡迎堆棧溢出!看起來您很快就收到了一些很好的答案,但對於將來的問題,您還應該發佈您收到的錯誤消息。這裏沒有必要讓一些人看到你的問題,但是當你學到更多東西並進入更復雜的領域時,它會更有幫助。 –

回答

6

你在報價中間有引號'。試試這個:

SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables'; 
6

你需要逃避字符串分隔符'''\'

SELECT * FROM l_suppliers 
WHERE suppliers_name = 'frank reed''s vegetables'; 

否則,SQL引擎會認爲字符串reed結束後,不知道如何處理做查詢的其餘部分。

3

看起來你在語句中有一個不完整的字符串。

您必須使用''轉義'才能成功執行它。

SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables'; 
5

問題是與',你必須使用轉義字符像\'

例如甲骨文,TSQL(SYBASE,MS SQL服務器):

SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables'; 
3

您的供應商名稱嵌入單引號。這違反了聲明。嵌入式單引號應增加一倍,像這樣:

SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables'; 
0

在SQL它使用單引號用於界定alfanumeric領域,所以如果你有你的字符串內使用單引號SQL認爲這僅止於此。您必須將其轉義或用「'替換。

1

你可以試試這個,可能得到不同的結果

SELECT 
* 
FROM l_suppliers 
WHERE suppliers_name = 'frank reed''s vegetables'; 

SELECT 
* 
FROM l_suppliers 
WHERE suppliers_name LIKE 'frank reed''s vegetables%'; 

SELECT 
* 
FROM l_suppliers 
WHERE suppliers_name LIKE '%frank reed''s vegetables%';