SQL Server : case statement

标签 sql sql-server select case

我有一个名为 boolean 的表其中包含“真”和/或“假”值作为一列中的字符串。

我在创建时遇到问题 case显示是否只有“真”或“假”或“两者”值的语句

示例 1:

'true'  
'true'  

结果:'真'

示例 2:
'false'   
'false'  
'false' 

结果:'假'

示例 3:
'true'  
'false'  
'true' 

结果:'两者'

编辑:
case语句应如下所示:
case 
   when  "column content are only true values"  then 'true' 
   when  "column content are only false values" then 'false'
   else 'both' 
end

最佳答案

您可以聚合 maxmin列,然后评估结果 - 如果它们相同,则列中只有一个值。如果没有,则必须两者都有。请注意,由于这些是字符串表示,因此值按字典顺​​序排序:

SELECT CASE WHEN MAX(col) = MIN(col) THEN MAX(col) ELSE 'both' END
FROM   my_table

关于SQL Server : case statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30817168/

相关文章:

MySQL基于列连接两个表并排除另一列的值

用于 Xpath 查询的 SQL Xml

mysql - 选择同一行两次,并使副本不可变

mysql - 检查带有 LIMIT 的 SELECT 语句是否返回所有行

mysql - 在数据库中选择属于两个部门的员工

MySQL SELECT 两张表

sql-server - SQL Server - 更新后与更新?

c# - 有什么方法可以通过包含实际执行计划以编程方式执行查询并查看是否有任何索引建议

mysql - 更新与选择

mysql - SQL:使用2个不同的auto_increment创建关系表