【问题标题】:MySQL convert double to varchar only if nullMySQL 仅在 null 时将 double 转换为 varchar
【发布时间】:2012-09-25 11:30:38
【问题描述】:

我正在尝试从我的数据库中获取DOUBLE 类型值以用于报告。如果此值为NULL,则报告应注明"N/A"

我只是在使用 sql 来完成这项工作时遇到了一些困难:

SELECT CAST(IFNULL(billablerate, 'N/A'), CHAR(5)) AS billablerate FROM rates

有些东西告诉我,这些功能不能像这样组合,但我不知道如何让它们同时进入。

任何帮助都会很棒!

【问题讨论】:

    标签: mysql casting


    【解决方案1】:

    试试这个:

    SELECT IFNULL(CAST(billablerate AS char (5)), 'N/A') AS billablerate FROM rates
    

    适用于:

    SELECT IFNULL(CAST(null AS char (5)), 'N/A') AS exp; // N/A
    SELECT IFNULL(CAST(10 AS char (5)), 'N/A') AS exp; // 10
    

    【讨论】:

      【解决方案2】:

      我怀疑是函数的顺序给你带来了麻烦。

      试试:

      SELECT IF(billablerate IS NULL, 'N/A', CONVERT(billablerate, CHAR(5))) as billablerate FROM rates
      

      【讨论】:

        【解决方案3】:

        原来我的命令中的错误是语法错误,见下文:

        我的原始代码:

        SELECT CAST(IFNULL(billablerate, 'N/A'), CHAR(5)) AS billablerate FROM rates
        

        修复:

        SELECT CAST(IFNULL(billablerate, 'N/A') AS CHAR(5)) AS billablerate FROM rates
        

        【讨论】:

          猜你喜欢
          • 2017-09-25
          • 2013-01-07
          • 2011-08-06
          • 1970-01-01
          • 2011-06-10
          • 1970-01-01
          • 2014-04-12
          • 1970-01-01
          • 2012-03-10
          相关资源
          最近更新 更多