在 SQL Server Management Studio 中,我正在尝试如下查询:
用人类的话说:给我表中“name”列中的字符串为“alice”的所有行。
我对这个 SQL 查询的尝试没有成功:
SELECT * FROM MyTable WHERE ["name"]=alice
我不知怎么找不到正确的语法。当列是 varchar 类型时,总是会出现错误。错误是:“...alice 不是有效的列名...”
当列是实数类型时它可以工作。例如:
SELECT * FROM MyTable WHERE ["age"]=30
希望有人能告诉我我在这里做错了什么。
谢谢
答案1
文本条件应该用引号括起来。请尝试以下查询。
SELECT * FROM MyTable WHERE name = 'alice'
答案2
尝试:
SELECT * FROM Table WHERE name LIKE 'alice'
如果您使用的是 SQL Server:
SELECT * FROM Table WHERE [name] LIKE 'alice'
答案3
列用方括号 ( ) 表示[]
。字符串文字用单引号 ( ) 表示'
:
SELECT * FROM MyTable WHERE [name] = 'alice'