我想从三列获取字符串,我正在使用此查询
String selectQuery = "select distinct coalesce(" + SENDERNAME + " , "+ SENDEREMAILID + " , " + SENDERMOBILENUMBER + ") FROM "+ TABLE_REC ;
但是如果一个特殊的列有空字符串它会显示它,但如果它为null则它不接受。
我想检查空和null不考虑。即我想向用户显示一些字符串而不是空字符串。
以下是图片
这些显示数据库和查询
当我获取记录时,如果特定记录为空且非空,则显示空字符串
答案 0 :(得分:2)
COALESCE
仅更改NULL
个值,而不是空字符串。
为了能够使用其他比较,请使用CASE
:
SELECT CASE WHEN SenderName <> '' THEN SenderName ELSE 'empty' END FROM TableRec
(表达式SenderName <> ''
对于空字符串和NULL
都失败了。)
要组合三个字段,您必须嵌套多个CASE
表达式:
SELECT CASE WHEN SenderName <> ''
THEN SenderName
ELSE CASE WHEN SenderEmailId <> ''
THEN SenderEmailId
ELSE SenderMobileNumber
END
END
FROM TableRec