gpt4 book ai didi

sql - 返回最后 2 个数字大于 INT 数据类型特定值的函数

转载 作者:行者123 更新时间:2023-12-01 21:58:57 24 4
gpt4 key购买 nike

是否有任何 SQL 函数可以用来返回最后 2 个数字大于 31 的所有记录。基本上,有一列:INT 数据类型中的 OpenDate 存储为“19810281”,最后 2 个值是 81(应该是日期),因此它有错误的数据。

我想查询所有那些最后2列数字为OpenDate大于31的坏记录?任何建议将不胜感激。

最佳答案

您可以使用Modulo功能。

SELECT OpenDate 
FROM Table
WHERE OpenDate % 100 > 31

由于您在 2008 年,您可以使用 DATE 数据类型。这比 int 小一个字节,可以防止出现此类问题。

或者更可靠的检查是将值转换为 char 并使用 isdate 因为 yyyymmdd 是明确的。

SELECT OpenDate
FROM TABLE
WHERE LEN(OpenDate) <> 8
OR ISDATE(CAST(OpenDate AS CHAR(8))) = 0

关于sql - 返回最后 2 个数字大于 INT 数据类型特定值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29218719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com