如何将 SQL 字符串日期转换为可用的 ISO8601 日期?

第一元素

我有一个查询,我需要检查一个日期是否小于或等于另一个日期。日期以这种格式作为字符串存储在表中2/1/2020我的测试服务器上的 SQL Server 版本是 13.0,下面的查询工作正常,但暂存和生产版本都是 11.0.7。下面的查询是我迄今为止尝试过的,但出现错误

“从字符串转换日期和/或时间时转换失败。”。

编写此查询以使其适用于所有 SQL 服务器的正确方法是什么?

SELECT TrackingNumber
FROM CarrierTrackingData
WHERE (SUBSTRING(Status, 1, 9) = 'Delivered') AND (CONVERT(date, CAST(DeliveryDate AS date), 23) <= CONVERT(date, CAST(InStoreDate AS date), 23))
GROUP BY TrackingNumber```
约格什·夏尔马

您需要101世纪mm/dd/yyyy转换为日期格式:

WHERE ( SUBSTRING(Status, 1, 9) = 'Delivered' AND 
        CONVERT(date, DeliveryDate , 101) <= CONVERT(date, InStoreDate , 101)
      );

注意:您不需要使用,CAST()因为CONVERT()Century 将为您进行对话。

编辑:您可以使用TRY_CONVERT()以下方法检查可能的日期格式

SELECT DeliveryDate, 
       TRY_CONVERT(DATE, DeliveryDate, 101) AS Possible_DeliveryDate, 
       InStoreDate,
       TRY_CONVERT(DATE, InStoreDate , 101) AS  Possible_InStoreDate
FROM table t;

TRY_CONVERT()将返回NULL对话失败的地方。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将ISO8601 TZ格式的字符串转换为日期

Swift:将 ISO8601 转换为日期

如何使用JSTL将日期显示为ISO8601?

如何将ISO 8601日期时间转换为字符串?

如何将字符串日期转换为ISO日期格式日期

如何将ISO 8601日期时间字符串转换为Python日期时间对象?

如何比较ISO8601格式的日期?

如何从Java中的ISO8601周号计算日期

使用Swift将时间和日期以ISO8601格式字符串组合

将ISO 8601日期和时间字符串转换为日期

sql将字符串转换为日期/日期时间

将字符串日期转换为ISO格式日期

将存储在ActiveRecord中的iso8601字符串存储为字符串还是日期时间?

如何将ISO 8601日期时间字符串转换为java.util.LocalDateTime?

将ISO8601日期文本转换为时间戳

时间日期格式,将小时数转换为 ISO8601 格式

如何在Firebird DB中将日期时间格式化/转换为ISO8601?

以ISO 8601日期时间格式将字符串转换为Java Date

Python-将日期的字符串表示形式转换为ISO 8601

将ISO-8601字符串转换为Typescript / javascript中的本地日期

将postgres日期表示形式转换为ISO 8601字符串

C#将日期时间对象转换为ISO 8601字符串

SQL如何将MM-DD-YYYY字符串值转换为日期

Oracle SQL如何将时区字符串转换为日期

如何将包含时区的字符串转换为日期时间SQL Server

如何在Heroku上运行Vapor 3将JSON响应中的Postgres日期转换为ISO8601?

SQL Server将日期转换为字符串MMMYYDD

将字符串转换为sql中的日期

将字符串(ISO)转换为日期PHP