SQL 如果值存在则显示一列并在其中显示 yes

标签 sql oracle

我想编写一个查询来添加新列,如果分数名称中的某一列中有数据,如果表中某些行没有数据,则查询应创建一列并显示“否”,但如果其中有数据,则应显示"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/

相关文章:

php - MYSQL语句搞不明白是怎么回事

python - 如何使用sqlite的参数解析

sql - Oracle SQL 查询(分析?)

java - Oracle SQL - 计算并发事件数

php - 解析 WordPress Sql 查询中的结果

sql - 将 COUNT 的值添加到现有值

Java 忽略类路径

sql-server - Oracle 和 SQL Server 中 NVARCHAR 的区别?

sql - 在艰难的SQL查询中需要帮助

SQL 查询 - 从表中选择不同的值