oracle与ms sql server 同一个语句运行结果不一样

来源:百度知道 编辑:UC知道 时间:2024/05/24 02:00:34
在oracle里运行
select a.quhao,a.tel from sall a,sok b where a.tel >=b.s1||b.s2 and a.tel<=b.s1||b.s3
在sql server 里运行
select a.quhao,a.tel from sall a,sok b where a.tel >=b.s1+b.s2 and a.tel<=b.s1+b.s3

运行出来的结果却是不一样的。

高手指点一下!

oracle: ||联结。如:11||22 结果为:1122,无论s1、s2、s3是数值还是字符结果一样。
sql: “+”具有两义性。11+22 结果是 33;'11'+'22' 结果是:1122。
关键在SQLServer中 s1、s2、s3是数值类型还是字符类型。

告诉结果,并告诉字段类型

b.s1+b.s2外面加括号试试

结果是什么?