2

我正在使用这个名为练习的教程表,DEPTNO DNAME LOC分别带有列。

10  ACCOUNTING  NEW YORK
20  RESEARCH    DALLAS
30  SALES       CHICAGO
40  OPERATIONS  BOSTON

鉴于此查询

select * from practice where loc = 'DALLAS'

我得到了我所期待的一行,但是在玩耍时,我也做了这个查询,

select * from practice where('LOC') = 'DALLAS'

我什么也得不到。我不明白,后一个查询在语法上是有效的,我没有例外,但仍然得到一个空集结果集。wherewith()有什么特别的吗?

4

1 回答 1

7

表达方式:

where('LOC') = 'DALLAS' 

正在将字符串'LOC'与字符串进行比较'DALLAS'。这些不匹配。

表达方式:

where loc = 'DALLAS'

正在将列loc与字符串进行比较'DALLAS'。显然,这些有时确实匹配。

单引号与问题有关。括号与它无关。(他们会做一些与您的问题无关的“特殊”事情。他们将表达式分组以进行评估。)

于 2013-08-29T16:32:56.937 回答