主题:加CASE与不加CASE会产生这种区别吗?
1.下面这条SQL语句可以通过.
select cast(3000 as char) + '/' + cast(88 as char) from table1
2.我把上面语句稍作修改之后变为如下语句:
注:pcs1,pcs2 均为整型
select (case when isnull(pcs1,0)>0 and isnull(pcs2,0)>0 then rtrim(cast(pcs1 as char)) + '/' + rtrim(cast(pcs2 as char)) else pcs1 end) 'abc'
from table1
运行查询报错:
将 varchar 值 '3000/88' 转换为数据类型为 int 的列时发生语法错误。
我的目的是要合并两个数值字段,并且在它们之间用"/"隔开.
请问我该如何写这种语句??
select cast(3000 as char) + '/' + cast(88 as char) from table1
2.我把上面语句稍作修改之后变为如下语句:
注:pcs1,pcs2 均为整型
select (case when isnull(pcs1,0)>0 and isnull(pcs2,0)>0 then rtrim(cast(pcs1 as char)) + '/' + rtrim(cast(pcs2 as char)) else pcs1 end) 'abc'
from table1
运行查询报错:
将 varchar 值 '3000/88' 转换为数据类型为 int 的列时发生语法错误。
我的目的是要合并两个数值字段,并且在它们之间用"/"隔开.
请问我该如何写这种语句??