gpt4 book ai didi

sql-server - 查询 : RequestError: Conversion failed when converting date and/or time from character string 中出现一些错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:39 26 4
gpt4 key购买 nike

当我运行此查询时,我正在使用 MS SQL Server 2008

select top 1 * from table_name where ModifiedDate='Wed Mar 16 2016 15:52:20 GMT+0530 (IST)'

我收到此错误

there were some errors in the query: RequestError: Conversion failed when converting date and/or time from character string.

我也尝试了CASTCONVERT但有同样的错误

我正在使用node mssql client

最佳答案

要直接回答问题,请使用以下内容:

select top 1 * from table_name where ModifiedDate=cast('2016-03-16 15:52:20 +05:30' as datetimeoffset)

现在解释一下。要使用时区,您需要使用 datetimeoffset - 常规日期时间字段不包含时区信息。所以,这会起作用:

select cast('2016-7-16 15:52:20 +05:30' as datetimeoffset)

使用 AdventureWorks2012(此语法也适用于 sql 2008,但这是演示如何针对 AW2012 数据库编写此查询):

select top 1 * from Person.Address where ModifiedDate=cast('2002-01-04 00:00:00 +00:00' as datetimeoffset)

请注意,在本例中,AW2012 在该表中使用了日期时间字段,但没有使用 datetimeoffset 字段 - 尽管如此,它仍然可以编译并运行。

下一个示例演示了时区偏移的工作原理:

select top 1 * from Person.Address where ModifiedDate=cast('2002-01-04 04:00:00 +04:00' as datetimeoffset)

这会返回一个值,而将偏移量更改 1 小时不会返回任何结果。 (表中有一条 ModifiedDate 为 2002-01-04 00:00:00 的记录):

select top 1 * from Person.Address where ModifiedDate=cast('2002-01-04 04:00:00 +03:00' as datetimeoffset)

关于sql-server - 查询 : RequestError: Conversion failed when converting date and/or time from character string 中出现一些错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38538816/

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