繁体   English   中英

Vertica转换日期格式

[英]Vertica convert date format

MSSQL中,我们可以将日期格式转换为所需的格式。

例如 :

convert(char(10),column_name , 120)

在vertica数据库中我们可以这样做吗?

SELECT CONVERT(CHAR(10),CURRENT_TIMESTAMP,120)

也许是这样的吗?

select current_timestamp::varchar ;

或这个?

select left(current_timestamp::varchar, 10) ;

查看标准文档中的“ 数据类型强制”部分和“ 数据类型强制图 ”可能会有所帮助...

与MS SQL相对,Vertica具有三种经典的ANSI数据类型来存储时间元素:

  1. DATE ,精确到日; 默认格式通常为YYYY-MM-DD。
  2. TIME ,其格式通常为HH24:MI:SS,加上可选的最高6位数字(以秒为单位)
  3. 整个时间戳记为TIMESTAMPTIMESTAMPZ TIMESTAMPZ包含时区,另一个不包含。 TIMESTAMP的默认格式为YYYY-MM-DD HH24:MI:SS.US,例如:2017-01-29 07:45:44.896498。

这些输入类型中的任何一种都可以使用与Oracle相同的函数TO_CHAR进行格式化。

MSSQL不是那么容易解释的格式代码120,对应于以下格式字符串:YYYY-MM-DD HH24:MI:SS。

这就是您的使用方式; 我使用CURRENT_TIME,CURRENT_DATE和CURRENT_TIMESTAMP作为输入,以显示其内容:

SELECT 
  TO_CHAR(CURRENT_TIME     ,'YYYY-MM-DD HH24:MI:SS') AS from_tm
, TO_CHAR(CURRENT_DATE     ,'YYYY-MM-DD HH24:MI:SS') AS from_dt
, TO_CHAR(CURRENT_TIMESTAMP,'YYYY-MM-DD HH24:MI:SS') AS from_ts
;

       from_tm       |       from_dt       |       from_ts
---------------------+---------------------+---------------------
 2017-01-29 07:54:05 | 2017-01-29 00:00:00 | 2017-01-29 07:54:05

令人高兴的是,此TO_CHAR()函数在许多数据库中都很常见,其他SQL编码人员将很容易理解这段代码中发生的事情。

快乐玩

Marco the Sane

您也可以这样获得:

select getdate()::date;

有很多转换日期类型的方法,有关详细信息,请参见下面的文档Vertica日期转换

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM