我想从三列中获取字符串,而我正在使用此查询
String selectQuery = "select distinct coalesce(" + SENDERNAME + " , "+ SENDEREMAILID + " , " + SENDERMOBILENUMBER + ") FROM "+ TABLE_REC ;
但是,如果一个垂直列具有空字符串,它将接受并显示它,但是如果它为null,则不接受。
我想检查为空和不考虑到null。即我想向用户显示一些字符串,而不是空字符串。
这是图像
这些显示数据库和查询
当我获取记录并且如果特定记录为空而不为null时,它将显示为空字符串
最佳答案
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