SQL Server:case语句

Mie*_*nio 3 sql sql-server select case

我有一个名为table的表boolean,其中包含'true'和/或'false'值作为一列中的字符串.

我有问题创建case语句,以告诉我是否只有'true'或'false'或'both'值

例1:

'true'  
'true'  
Run Code Online (Sandbox Code Playgroud)

结果:"真"

例2:

'false'   
'false'  
'false' 
Run Code Online (Sandbox Code Playgroud)

结果:'假'

例3:

'true'  
'false'  
'true' 
Run Code Online (Sandbox Code Playgroud)

结果:'两个'

编辑:

case 声明应该如下:

case 
   when  "column content are only true values"  then 'true' 
   when  "column content are only false values" then 'false'
   else 'both' 
end
Run Code Online (Sandbox Code Playgroud)

Mur*_*nik 8

你可以聚集maxmin柱,然后评估结果-如果它们是相同的,只有一个列值.如果没有,则必须同时存在.请注意,由于这些是字符串表示形式,因此按字典顺序对值进行排序:

SELECT CASE WHEN MAX(col) = MIN(col) THEN MAX(col) ELSE 'both' END
FROM   my_table
Run Code Online (Sandbox Code Playgroud)