Sql 当从int到varchar时,如何生成一个CASE?
我想把INT改成VARCHARSql 当从int到varchar时,如何生成一个CASE?,sql,Sql,我想把INT改成VARCHAR UPDATE puntentotaal SET Leeftijdhoofdkostwinner = (CASE WHEN Punten1 22 THEN 35 jaar en jonger WHEN Punten1 29 THEN 36 t/m 50 jaar WHEN Punten1 39 THEN 51 jaar en ouder END) 为什么这个代码不起作用 谢谢你帮助我 您只需要引号。此外,您的原始案例陈述也可以稍加改
UPDATE puntentotaal SET Leeftijdhoofdkostwinner =
(CASE
WHEN Punten1 22 THEN 35 jaar en jonger
WHEN Punten1 29 THEN 36 t/m 50 jaar
WHEN Punten1 39 THEN 51 jaar en ouder
END)
为什么这个代码不起作用
谢谢你帮助我 您只需要引号。此外,您的原始案例陈述也可以稍加改进:
UPDATE puntentotaal SET Leeftijdhoofdkostwinner =
(CASE Punten1
WHEN 22 THEN '35 jaar en jonger'
WHEN 29 THEN '36 t/m 50 jaar'
WHEN 39 THEN '51 jaar en ouder'
ELSE '' -- You might want to set some sort of value for this; up to you though
END)
你只需要引号。此外,您的原始案例陈述也可以稍加改进:
UPDATE puntentotaal SET Leeftijdhoofdkostwinner =
(CASE Punten1
WHEN 22 THEN '35 jaar en jonger'
WHEN 29 THEN '36 t/m 50 jaar'
WHEN 39 THEN '51 jaar en ouder'
ELSE '' -- You might want to set some sort of value for this; up to you though
END)
是不是应该:
UPDATE puntentotaal SET Leeftijdhoofdkostwinner =
(CASE
WHEN Punten1 22 THEN '35 jaar en jonger'
WHEN Punten1 29 THEN '36 t/m 50 jaar'
WHEN Punten1 39 THEN '51 jaar en ouder'
END)
是不是应该:
UPDATE puntentotaal SET Leeftijdhoofdkostwinner =
(CASE
WHEN Punten1 22 THEN '35 jaar en jonger'
WHEN Punten1 29 THEN '36 t/m 50 jaar'
WHEN Punten1 39 THEN '51 jaar en ouder'
END)
@JW原始查询中的另一个错误,我起初没有发现。修正了。为了提高性能,添加
WHERE
子句,例如…WHERE Punten1 IN(22,29,39)
@JW原始查询中的另一个错误,我起初没有发现。修正。为了提高性能,添加WHERE
子句,例如…WHERE Punten1 IN(22,29,39)