mysql - MySQL比较不同的值以防万一
问题描述
在此查询中,我使用 CASE WHEN 函数比较两种不同条件下的变量值。问题是数字,因为返回值 = 1,但正确的结果是 NULL(20 大于 8)。
SELECT DISTINCT
case
when '20'>= '8' then null
when '20'< '8' then '1'
ELSE '0'
end checkValue
FROM DUAL;
如何解决这个问题?
如果将 8 更改为 08,则查询将正确运行。此解决方案不适用,因为从变量到达数字:10 100 1000 个单位。
谢谢
解决方案
我已将字段类型从 VARCHAR 更改为 DECIMAL,在这种情况下工作正常。
推荐阅读
- sql - SQL DATIME 转换问题
- python - 如何在mysql python中将外键设置为NULL
- java - 单击时更改按钮图像(或颜色)
- android - 无法从数据库中的表复制数据并将其复制到另一个具有Android房间的数据库中的另一个表
- amazon-web-services - 从 dynamo db 表中获取属性
- ios - 在 ForEach Swift UI 中显示数组的值
- python - 使用 Python-Docx 获取 docx 文件中列表项的列表编号
- c - CS50 第 4 周内存,fread 如何知道移动到文件的下一个字节?
- spring-boot - Spring Cloud Gateway 认证授权
- r - 运行 R 闪亮应用程序出现问题 - staticPath 错误