【问题标题】:MySQL, How to Convert True/False to 1/0 in query [duplicate]MySQL,如何在查询中将 True/False 转换为 1/0 [重复]
【发布时间】:2019-01-06 07:54:04
【问题描述】:

如何在 MySQL 查询中将布尔值转换为整数。我尝试了很多东西,但结果都是空的。我只是想将真/假的“值”列分别转换为 1 和 0 到“最终值”列。请看截图链接。

MySQL 查询:

SELECT
  UNIX_TIMESTAMP(timestamp) as time_sec,
  topic as metric,
  data as value,
cast(DATA AS SIGNED) as finalvalue
FROM tcl_mqtt_log
WHERE topic = 'jace/home/heatpump/uvlight_ss';

screenshot of mysql_query_result

【问题讨论】:

    标签: mysql int boolean


    【解决方案1】:

    我认为您需要在这里使用CASE 表达式:

    SELECT
        UNIX_TIMESTAMP(timestamp) AS time_sec,
        topic AS metric,
        data AS value,
        CASE WHEN data = 'true' THEN 1 ELSE 0 END AS finalvalue
    FROM tcl_mqtt_log
    WHERE topic = 'jace/home/heatpump/uvlight_ss';
    

    【讨论】:

    • 谢谢,这行得通。我尝试使用这种情况,但格式化是这里的关键。我很接近。再次感谢。
    猜你喜欢
    • 2014-01-17
    • 2011-12-16
    • 2019-02-09
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多