【发布时间】:2021-04-28 18:22:09
【问题描述】:
我有一列包含 12345 格式的 tibcoofferid。 另一列包含 Add_12345 格式的 tibcoaddevent。
我想要一个输出列来检查 tibcoofferid 是否等于 tibcoaddevent 中 _ 之后的数字。
我尝试了以下操作,但 AddEvent 检查被标记为 False,即使两个值匹配。谁能帮忙指出我做错了什么?
SELECT tibcoofferid, tibcoaddevent
, CONVERT(SUBSTRING_INDEX(tibcoaddevent,'_',-1),UNSIGNED INTEGER) AS num
, IF (tibcoofferid = 'num', 'True', 'False') AS AddEvent
FROM offer_360
WHERE tibcoofferid IN (13979, 13980, 13900, 13352, 12709)
输出:
| tibcoofferid | tibcoaddevent | num | AddEvent |
|---|---|---|---|
| 12709 | Add_12709 | 12709 | False |
| 13352 | Add_13352 | 13352 | False |
| 13900 | Add_13900 | 13900 | False |
| 13979 | Add_13979 | 13979 | False |
| 13980 | Add_13980 | 13980 | False |
另外,是否可以在不输出“num”列的情况下执行此操作?
【问题讨论】:
标签: mysql if-statement data-conversion