gpt4 book ai didi

SQL Server CE 日期存储在字符串 : how to compare 中

转载 作者:行者123 更新时间:2023-12-04 19:27:12 35 4
gpt4 key购买 nike

我有一个数据库,我在其中看到日期以字符串的形式存储。我可以在查询中比较这些日期(以 string 的形式)吗?

例如。 date1 列存储 09-11-1992 00:00:00date2 存储 22-11-1992 00:00:00

按如下方式执行查询是否明智:

select * from tablename WHERE date1 > "06-11-1992 00:00:00";

最佳答案

如果您的字符串是可识别的格式,您应该能够 cast将它们与日期时间进行比较。

select *
from tablename
where cast(date1 as datetime) > cast('06-11-1992 00:00:00' as datetime)

不过,我建议 ISO 8601日期格式。这是一种可能性:

cast('1992-11-06T00:00:00' as datetime)

由于您的 date2 示例,我在这里假设 DD-MM-YYYY。

只要确定您知道哪天和哪月。希望您的字符串始终采用相同的格式并符合您的区域设置。

小心:您可能必须set the date format从您的数据中获得正确的输出:

set dateformat dmy
select cast('06-11-1992 00:00:00' as datetime) -- returns 1992-11-06 00:00:00
set dateformat mdy
select cast('06-11-1992 00:00:00' as datetime) -- returns 1992-06-11 00:00:00

关于SQL Server CE 日期存储在字符串 : how to compare 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550023/

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