选择案例不按预期工作

Mis*_*ish 2 sql sql-server case

我在select语句中有这个非常简单的情况

   CASE WHEN PHONENR IS NOT NULL THEN '+46'+PHONENR ELSE ' ' END AS Phone 
Run Code Online (Sandbox Code Playgroud)

我的问题在这里我可以正确地在所有现有数字前面添加国家代码,但空行的默认值为+46而不是空

Mar*_*ith 5

您可以使用

CASE WHEN PHONENR <> '' THEN '+46'+PHONENR ELSE ' ' END AS Phone 
Run Code Online (Sandbox Code Playgroud)

仅当PHONENR不为空或空字符串时才输入第一个分支.

  • 即使`PHONENR`是"""`因为`''=''`(忽略空格) (2认同)