以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  IN运算符 在不同数据库的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129401)

--  作者:fivetable
--  发布时间:2018/12/27 19:43:00
--  IN运算符 在不同数据库的问题

用A C ES S数据库,S Q L末尾的筛选语是 w h ere 机型 IN (\'测试机-G\',\'测试机-A\',)  代码可以正常执行。末尾多了个逗号也能正常执行。

改用S Q L  s e r v e r数据库后,运行会出错,要去掉末尾的逗号才行,改为 w h e r e 机型 IN (\'测试机-G\',\'测试机-A\') 代码才能正常运行。

不知道为什么?


IN运算符

IN运算符是用来判断一个表达式的值是否属于一个指定列表中的值。

例如同样是加载产品P D 0 1和P D 0 2的订单,用IN运算符可以简化为:

FRO M {订单} WHERE 产品 IN (\'P D 01\',\'P D 02\')



--  作者:有点甜
--  发布时间:2018/12/27 20:52:00
--  

 

建议你还是严格合成sql语句吧,不要理会这种特殊情况,合成标准的即可。

 


--  作者:fivetable
--  发布时间:2018/12/28 20:17:00
--  
好的,不规范的语句写法,将来有可能出现致命BUG,只是,我觉得好奇!