【发布时间】:2018-11-23 03:36:25
【问题描述】:
我的日期变量是Numeric(37),格式为(20160404,20160405,...)。在其他问题之后,我尝试了以下方法,
select convert(datetime, date_var)
出现错误Column datetime does not exist。
select convert(date, date_var)
与上述相同的错误。 也试过了,
select convert(date, convert(float, date_var))
同样的错误。
select cast(convert(VARCHAR, date_var) as datetime)
给出类似的错误列"VARCHAR" does not exist
抱歉,我对 SQL 的了解才几周,如果我需要在发布这个问题之前做进一步的研究。我觉得我犯了一些错误,例如对错误的数据库使用错误的函数。谁能帮帮我?
【问题讨论】:
-
标记您正在使用的 DBMS(即
MySQL、SQL Server等)。 -
分两步完成,首先将数字转为字符,然后将字符转为日期。
-
@jarlh 我已经尝试过同样的错误。
-
我试过
select to_date(to_char(date_var), 'yyyymmdd'),它成功了。 -
@FightMilk 看起来您使用的是 Oracle 数据库,并且您尝试的语句专门针对 Microsoft SQL Server。尽管许多 SQL 语言在使用它的所有数据库之间都是标准的,但还是存在一些差异。 SQL/Oracle 之间的日期转换在这方面是一个臭名昭著的差异。
标签: sql date type-conversion numeric vertica