求sql server 语句

判断两个字段
当这两个字段都为空时则第三个字段显示一
当这两个字段其中一个字段有值时则第三个字段显示那个值
当这两个字段都有值时则两个字段的值都在第三个字段中显示出来

case when 判断下这两个字段的值,再做对应处理

SELECT 
    CASE 
        WHEN col1 IS NULL AND col2 IS NULL THEN '一'
        WHEN col1 IS NOT NULL AND col2 IS NULL THEN col1
        WHEN col1 IS NULL AND col2 IS NOT NULL THEN col2
        WHEN col1 IS NOT NULL AND col2 IS NOT NULL THEN col1 + ' ' + col2
    END AS col3
FROM table;

一种很简单的写法,检查 field1 和 field2 是否为空,然后根据条件决定如何填充 field3 列:

SELECT COALESCE(field1 + ' ', '') + COALESCE(field2, '一') AS field3
FROM your_table

你们出学的一般都是用case when做 我这里也实现下:

SELECT CASE
         WHEN field1 IS NOT NULL AND field2 IS NOT NULL 
THEN field1 + ' ' + field2
         WHEN field1 IS NOT NULL THEN field1 + ' '
         ELSE '一'
       END AS field3
FROM your_table


如果对field1和2有拼接想法,可以 使用CONCAT(field1, ' ', field2, '一'),所以最后得看你想输出什么样得格式,没有做不到得