大家好,这是我的以下查询,我正在尝试将二进制(8)转换为datetime但是我收到以下错误。
从字符串转换日期和/或时间时转换失败。
你能帮帮我吗。
DECLARE @VarBinary VarBinary(10)
DECLARE @DateTime DATETIME
SET @VarBinary = CAST(CAST('1998/01/24' AS DATETIME) AS VARBINARY(10))
SET @DateTime = @VarBinary
SELECT TOP 1000 [NodeId],[NodePropertyId],[NodePropertyValue],convert(datetime2, [TStamp]),[Source],[LoadDate]
FROM [Fleet_Staging].[dbo].[rdex_NodePropertyValues]
答案 0 :(得分:0)
确保[TStamp]
正确,如果出现问题,您可能会收到此错误。例如,下面的代码会出现同样的错误。
SELECT CONVERT(datetime2, '2011-09-28 18:01:00 xxx')
从字符串转换日期和/或时间时转换失败。
答案 1 :(得分:0)
错误之前 [TStamp]
英语中没有错误
DECLARE @VarBinary VarBinary(10)
DECLARE @DateTime DATETIME
SET LANGUAGE English
SET @VarBinary = CAST(CAST('1998/01/24' AS DATETIME) AS VARBINARY(10))
SET @DateTime = @VarBinary
SELECT @VarBinary
如果,我改变语言;您在土耳其语中也有同样的错误。
DECLARE @VarBinary VarBinary(10)
DECLARE @DateTime DATETIME
SET LANGUAGE Turkish
SET @VarBinary = CAST(CAST('1998/01/24' AS DATETIME) AS VARBINARY(10))
SET @DateTime = @VarBinary
SELECT @VarBinary
varcharveritüründenbirdatetimeveritürünedönüştürmearalıkdışıbirdeğerlesonuçlandı。
USE转换函数See Microsoft Page或W3 Schools Page
DECLARE @VarBinary VarBinary(10)
DECLARE @DateTime DATETIME
SET LANGUAGE Turkish
SET @VarBinary = CAST(convert(DATETIME, '1998/01/24',111 ) AS VARBINARY(10))
SET LANGUAGE English
SET @VarBinary = CAST(convert(DATETIME, '1998/01/24',111 ) AS VARBINARY(10))
SET @DateTime = @VarBinary
SELECT @VarBinary
没有错误
答案 2 :(得分:0)
set dateformat YMD
在SET @Varbinary = CAST之前(转换....
应该有效! :)