Sql 列';玛丽';不存在

Sql 列';玛丽';不存在,sql,postgresql,string-constant,Sql,Postgresql,String Constant,我在这里做一个简单的查询,它返回的列“Mary”不存在: SELECT telephone.telephonenumber as tel FROM person, telephone WHERE person.idperson = telephone.idperson AND person.personname = ‘Mary’; 有人能解释一下会发生什么吗?我不希望Mary作为专栏,而是作为一个值 提前感谢,, Gabriel使用纯单引号分隔字符串文字'Mary'非智能引号'Ma

我在这里做一个简单的查询,它返回的列“Mary”不存在:

SELECT  telephone.telephonenumber as tel
FROM    person, telephone
WHERE   person.idperson = telephone.idperson
AND person.personname = ‘Mary’;
有人能解释一下会发生什么吗?我不希望Mary作为专栏,而是作为一个值

提前感谢,,
Gabriel

使用纯单引号分隔字符串文字
'Mary'
非智能引号
'Mary'
确保正确引用字符串


从您的代码片段中,我想说这就是问题所在,因为您使用的不是简单的单引号。

这是不在字处理器中编辑SQL的一个很好的理由。他们喜欢“帮助”你并“纠正”你的“错误”。我的教授在实现数据库之前要求一份带有一些SQL命令的报告,所以它只是复制/粘贴。谢谢!顺便说一句,IIRC ANSI SQL引用规则是
“单引号”
用于文字,以及
用于标识符(列名、表名等)的
“双引号”
用于处理空格、区分大小写等。尽管MySQL需要
设置SQL\u模式=“ANSI”
来接受这些规则,但大多数数据库都可以遵循这些规则。这种引用在MS SQL、PostgreSQL和ANSI模式下的MySQL中都很好。顺便说一句,加布里埃尔,请点击马丁·史密斯答案分数下方的勾号,接受他的答案。不,这不是重复的。我是巴西人,另一个用户似乎来自德语国家。谢谢。我试图接受马丁·史密斯的回答,但有时间限制。现在它被接受了。