sql - 选择非空列

标签 sql sql-server sql-server-2008 varbinary nvarchar

我有一个包含 varbinary(max) 列和 nvarchar(max) 列的表。其中一个为空,另一个有值。

我想返回具有 varbinary(max) 列值的列。到目前为止,我已经尝试过这个,但它不起作用:

SELECT 
      A =  
      CASE A
         WHEN NULL THEN B
         ELSE A 
      END
FROM Table

最佳答案

SELECT COALESCE(A, CAST(B As varbinary(max)))

更新:为了回应评论(谢谢)并假设 B 是 nvarchar(max) 列,我已将 CAST 移动到里面COALESCE

关于sql - 选择非空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987494/

相关文章:

sql - 希望优化此查询

mysql - CAST(0x993902CE AS DATETIME) 从 SQL Server 到 MYSQL

sql-server - 如何通过查询获取基于日期的每小时计数?

php - 恢复sql语句的函数

sql - 从另一个表更新一个表,但也插入

c# - sql存储过程与代码,对于大量数据,哪个更好?

SQL查询以在给定条件下明确获取总和

sql - sql server 中的脚本验证

MySQL:如果另一个表中的值为 NULL,如何将值插入表中?

sql - n 列的快捷方法与相同的常量进行比较?