我正在学习 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';
答案 1 :(得分:6)
您需要使用'
或''
\'
SELECT * FROM l_suppliers
WHERE suppliers_name = 'frank reed''s vegetables';
否则SQL引擎会认为字符串在reed
之后结束,并且不知道如何处理查询的其余部分。
答案 2 :(得分:5)
问题在于'
,您必须使用\
或'
之类的转义字符。
例如oracle,tsql(sybase,ms sql server):
SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables';
答案 3 :(得分:3)
看起来你在声明中有一个不完整的字符串。
您必须使用'
转义''
才能成功执行它。
SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables';
答案 4 :(得分:3)
您的供应商名称中包含嵌入式单引号。这破坏了声明。嵌入式单引号应该加倍:
SELECT * FROM l_suppliers WHERE suppliers_name = 'frank reed''s vegetables';
答案 5 :(得分: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%';
答案 6 :(得分:0)
在sql中,它使用单引号来分隔alfanumeric字段,所以如果你的字符串中有一个单引号sql认为它在那里结束。您必须将其转义或用''。
替换它