我想编写一个查询来添加新列,如果分数名称中的某一列中有数据,如果表中某些行没有数据,则查询应创建一列并显示“否”,但如果其中有数据,则应显示"is",如下所示。
表格
Name Phone Score
Ali 1111 90
Karim 2222 80
Ramin 33333 10
Millad 3333
Rawof 5555
查询后应该显示
Name Phone Score new_column
Ali 1111 90 yes
Karim 2222 80 yes
Ramin 33333 10 yes
Millad 3333 no
Rawof 5555 no
最佳答案
您可以尝试使用带有合并功能的 CASE WHEN 。
SELECT *,CASE WHEN coalesce(Score,'') <> '' THEN 'yes' else 'no' end 'new_column'
FROM T
编辑
在Oracle文档中关于NULL
Oracle Database treats a character value with a length of zero as null.
SELECT t1.*,(CASE WHEN t1.Score IS NOT NULL THEN 'yes' else 'no' end) as new_column
FROM T t1
关于SQL 如果值存在则显示一列并在其中显示 yes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54719479/