永发信息网

T-SQL 如何在T-SQL case when 比较字符串

答案:3  悬赏:50  手机版
解决时间 2021-02-10 05:58
1.
select
case when m.MODULE_DESCRIPTION = p.MODULE_DESCRIPTION then 'S' end FLAG

from t1 m
full join t2 p on m.ACAD_PERIOD = p.ACAD_PERIOD and m.MODULE_HOSTKEY = p.MODULE_HOSTKEY

2.
select
case when m.MODULE_DESCRIPTION <> p.MODULE_DESCRIPTION then 'D' end FLAG

from t1 m
full join t2 p on m.ACAD_PERIOD = p.ACAD_PERIOD and m.MODULE_HOSTKEY = p.MODULE_HOSTKEY

第一个例子无论如何都返回S,第二个例子无论如何都返回null, 我期望的是相同返回S, 不相同返回D. 是不是我写的语法有问题? 请大家帮忙
最佳答案
select m.MODULE_DESCRIPTION,p.MODULE_DESCRIPTION,
case when m.MODULE_DESCRIPTION = p.MODULE_DESCRIPTION then ‘S’ else 'D' end as FLAG
from t1 m
full join t2 p on m.ACAD_PERIOD = p.ACAD_PERIOD and m.MODULE_HOSTKEY = p.MODULE_HOSTKEY
核对一下数据,看看S和D的时候,两个字段的值是不是跟条件一样。
全部回答
select  case when m.MODULE_DESCRIPTION = p.MODULE_DESCRIPTION then 'S' else 'D' end FLAG from t1 m full join t2 p on m.ACAD_PERIOD = p.ACAD_PERIOD and m.MODULE_HOSTKEY = p.MODULE_HOSTKEY
不要使用when null来判断,等于null的时候判断不出来的 你可以当字段等于null时给一个默认值。比如 (case isnull(field,'') when '1' then '1' when '' then '1' else '0' end ) as field 或者在when后边写条件 case when field = '1' then '1' when field is null then '1' else '0' end as field
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
同安村地址有知道的么?有点事想过去
兰州机场有地铁吗?
mysql中如何获取没有输入参数的存储过程的返
熊和华莱健安化黑茶体验馆灵丘NO.1在什么地方
辛田村地址有知道的么?有点事想过去
北京市京顺汽车教练场这个地址在什么地方,我
光田村地址有知道的么?有点事想过去
敬事而信,直道而事人是什么意思
为什么,一个你喜欢的男孩,他也喜欢你。你看
哈弗h2机油变色怎么办
金田村地址好找么,我有些事要过去
榆商高速公路/洛洪路(路口)在哪里啊,我有事
芳杰村怎么去啊,我要去那办事
孔雀翎京东商城是正品吗
读“我国地形类型百分比及各类土地利用类型面
推荐资讯
关于次的成语有哪些
下列各种材料不能用于鉴定还原糖的是①光合作
别人说没钱人才买PS4,买不起显卡,正要买PS4
大连市明星小学地址在什么地方,我要处理点事
为什么苹果平板电脑充不上电关机充不上电且上
【美丽的大海作文】《美丽的海边》作文
关于老年人神经系统改变的说法正确的是A.脑内
CafeShanghai地址好找么,我有些事要过去
an aspirn every day,while she is away 什
【强的读音】如何区分多音字.强这个读音.
体现工业地域形成与发展逻辑顺序的是:①工业
万客来超市大冯营连锁店地址在哪,我要去那里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?