gpt4 book ai didi

mysql - 从 SQL 中的串联属性查询日期

转载 作者:行者123 更新时间:2023-11-29 23:27:56 28 4
gpt4 key购买 nike

好的,SQL 专家......我需要一些帮助。我有一个属性 ReportBatchID,它是日期和其他一些数字的串联值。例如,所有 ReportBatchID 值的格式均为“201105115485452652”。我需要从该值的前 8 位数字中向左选择以获取日期,然后选择所有超过 90 天的日期。我能够使用

select Left (ReportBatchID, 8) from [Table]

将其作为日期,但是当我使用

where ReportBatchID < CONVERT (VARCHAR(10), DATEADD(DAY, -90, GETDATE()),121)

在我选择之后,我收到错误“将数据类型 varchar 转换为数字时出错”。有人知道该怎么做吗?

最佳答案

当您在 where 子句中使用 Dates 时,始终在两侧使用正确的转换

where CAST(LEFT(ReportBatchID ,8) as DATE) < 
CAST(DATEADD(DAY, -90, GETDATE()) as DATE)



select CAST( DATEADD(DAY, -90, GETDATE()) as DATE)


select CAST(LEFT(201105115485452652,8) as DATE)

输出

2014-08-10

2011-05-11

关于mysql - 从 SQL 中的串联属性查询日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808671/

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