gpt4 book ai didi

mysql - 使用多种情况将空格更新为 null

转载 作者:行者123 更新时间:2023-11-29 18:34:15 25 4
gpt4 key购买 nike

update RawAddress 
set RawAddrZip =
case
When len(RawAddrZip) <= 5
Then right(('00000' + RawAddrZip), 5)

When len(RawAddrZip) > 5 and len(RawAddrZip) <= 9
Then right(('000000000' + RawAddrZip), 9)

When len(RawAddrZip) = 0 then NULL
Else

RawAddrZip
End

where RawAddressId in (210981,210982)

更新前

RawAddreessID   RawAddressZip
210981
210982 1234

更新后输出将是

RawAddreessID   RawAddressZip
210981 0000
210982 1234

我想要 Null 而不是 0000 。请更正我的sql

最佳答案

0也小于5 。只需更改案例的顺序即可

case 
When len(RawAddrZip) = 0
Then NULL
When len(RawAddrZip) <= 5
Then right(('00000' + RawAddrZip), 5)

-- or change the condition
When len(RawAddrZip) > 0 and len(RawAddrZip) <= 5
Then right(('00000' + RawAddrZip), 5)

您还应该检查不可见字符,因为如果在第一个 right() 上输入空字符串应该给你五个 00000不是四个0000

添加测试用例,例如:

 CASE WHEN RawAddrZip = ''    THEN 'blank'
CASE WHEN RawAddrZip IN NULL THEN 'null'

关于mysql - 使用多种情况将空格更新为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45440442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com