2017-03-23 211 views
1

1)select name from city where countrycode="JPN" ;SQL查询比较

2)select name from city where countrycode='JPN' ;

3)select name from city where countrycode="jPn" ;

上述所有的查询中的查询2正在我使用单引号和在3查询我使用的混合物大写和小写字符。为什么它是产品正确的输出??。

+2

你使用的是什么dbms? –

+0

很明显,你的数据库服务器的语法中都允许使用两个引号。而且,比较区分大小写或不取决于为列,表或数据库配置的_collat​​ion_。 –

+0

SQL查询通常不区分大小写 – imtheman

回答

2

我想我误解了原来的问题。有些数据库实现不区分大小写,有些则不是。通常保留的关键字如SELECT,WHERE等不区分大小写。 对于WHERE子句,可能需要强制大写或小写。

考虑使用LOWERUPPER强制

SELECT name from city where LCASE(countrycode) = "jpn"

我没有用它亲自所以它可能是值得的基准速度大写或小写。

+0

LCASE是依赖于平台的 - 有些使用LOWER – Hogan

+0

@Hogan谢谢,我已经更新了答案。 – AlexG