SQL:在Sybase IQ中将字符串转换为日期时间

问题描述 投票:0回答:1

我正在尝试在Sybase IQ中将字符串转换为日期时间。字符串具有以下格式:'20191211 11:49:00.565224 +0700'

我首先尝试使用Convert DATETIME:以下2个查询失败:

SELECT CONVERT("DATETIME", '20191211 16:29:56.226560 +0000', 112) AS "TIME_dt"
SELECT CONVERT(DATETIME, '20191211 16:29:56.226560 +0000', 112) AS "TIME_dt"

但是,在类似查询中使用时>

SELECT CONVERT("DATETIME", "TIME_", 112) AS "TIME_dt" FROM TABLE

并且“ TIME_”列包含'20191211 16:29:56.226560 +0000',然后得到结果:2019-12-11 00:00:00,它正确地将20191211转换为2019-12-11

接下来,我尝试使用SELECT CONVERT( DATETIMEOFFSET , '20191211 11:49:00.565224 +0700'),它可以工作,但是当我在类似的查询中使用它时

SELECT CONVERT(DATETIMEOFFSET, "TIME_") AS "TIME_dt" FROM TABLE

我收到错误:

[Code: 21, SQL State: QFA2A]  SQL Anywhere Error -1001030: Feature, Cast to Unknown TypeID (29) at line 1, is not supported. 
-- (dflib/df_Heap.cxx 6835) 

发生了什么事?

谢谢

我正在尝试在Sybase IQ中将字符串转换为日期时间。字符串具有以下格式:'20191211 11:49:00.565224 +0700'我首先尝试使用Convert DATETIME:以下2个查询失败:SELECT ...

sql sybase-iq
1个回答
0
投票

我看过https://www.w3schools.com/sql/func_sqlserver_convert.asp,基本上,第三个参数是可选的,在您的情况下为112,它告诉您确切的格式,这就是为什么出现格式错误的原因,因为它缺少112。另一个错误与如何传递变量,实际传递的内容,字符串或日期值有关。

© www.soinside.com 2019 - 2024. All rights reserved.