【发布时间】:2021-06-26 23:27:37
【问题描述】:
我正在尝试运行一个简单的报告,其中一列是浮点类型,但我想更改结果以显示字符串(我认为这是最好的方法)。如果 float 列的值为 101 或 201,我希望结果显示为 '101, 201',其他值显示为表中的值。
这是我一直在搞砸的,但结果不正确:
SELECT float_column,
CASE
WHEN (STR(float_column, 10, 16)) IN ('101', '201') THEN '101,201'
ELSE column
END AS float_column, column2, column3
FROM database.table
ORDER BY float_column
【问题讨论】:
-
MySQL 还是 SQL Server?它们完全不同。可能你一开始就不应该使用浮点数 - 好像你想要一个 int。
-
STR(float_column, 10, 16)会产生什么样的字符串?看看:docs.microsoft.com/en-us/sql/t-sql/functions/… -
只需使用数字比较,并转换所有非 101,201 值的输出
标签: mysql sql sql-server