【问题标题】:Sql query issue with coalesce使用合并的 Sql 查询问题
【发布时间】:2013-08-22 07:04:04
【问题描述】:

我想从三列中获取字符串,我正在使用这个查询

String selectQuery = "select distinct coalesce(" + SENDERNAME + " , "+ SENDEREMAILID + " , " + SENDERMOBILENUMBER + ")  FROM "+ TABLE_REC ;

但是如果一个特定的列有空字符串,它会接受并显示它,但如果它为空,则不接受。

我想检查空和空不考虑。即我想向用户显示一些字符串而不是空字符串。

这是图片

这些显示数据库和查询

当我获取记录时,如果特定记录为空且不为空,则显示类似这样的空字符串

【问题讨论】:

  • 您的描述不清楚。请举一些例子。
  • @CL。我添加了一些图像以进行详细说明。请看一下。如果您仍然遇到问题,请回复。

标签: android sql sqlite coalesce


【解决方案1】:

COALESCE 仅更改 NULL 值,而不是空字符串。

为了能够使用另一个比较,请使用CASE

SELECT CASE WHEN SenderName <> '' THEN SenderName ELSE 'empty' END FROM TableRec

(对于空字符串和NULLs,表达式SenderName &lt;&gt; '' 都失败。)

要组合三个字段,必须嵌套多个CASE 表达式:

SELECT CASE WHEN SenderName <> ''
            THEN SenderName
            ELSE CASE WHEN SenderEmailId <> ''
                      THEN SenderEmailId
                      ELSE SenderMobileNumber
                 END
       END
FROM TableRec

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多