首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘YYYY-MM-DD“T”MI 24:MI:SS“Z”形式的划时代日期

‘YYYY-MM-DD“T”MI 24:MI:SS“Z”形式的划时代日期
EN

Stack Overflow用户
提问于 2016-04-06 07:44:54
回答 2查看 5.4K关注 0票数 1

我对SQL很陌生,遇到了一个问题。我想有一个划时代的日期,即1970-01-01T00:00:00:00Z,以上述格式。

由于编程原因,I不能将其用作常量(即'1970-01-01T00:00:00Z')。我需要一个作为输出的语句。我用过这个:

代码语言:javascript
复制
select to_char(TRUNC(add_months(sysdate,-555),'MM'), 'YYYY-MM-DD"T"HH24:MI:SS"Z"') from dual;

但这份声明的唯一问题是,它不会给我下个月想要的日期,也就是说,它只适用于2016年4月。但我需要一个日期永远保持1970-01-01T00:00:00 Z。

提前谢谢你的帮助。

PS:我正在使用Oracle SQL Developer (如果这很重要的话)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-06 08:59:09

你可以这样做:

代码语言:javascript
复制
select '1970-01-01T00:00:00Z' from dual;

或者,如果您出于某种原因希望对其进行处理,这似乎是毫无意义的开销:

代码语言:javascript
复制
select to_char(date '1970-01-01', 'YYYY-MM-DD"T"HH24:MI:SS"Z"') from dual;

任何一个都会给你你想要的绳子。但这是一根绳子,不是约会。如果您希望将其作为适当的数据类型(我不认为您需要这样做,但这可能是比较的),则需要使用时区作为时间戳,您可以使用:

代码语言:javascript
复制
select timestamp '1970-01-01 00:00:00 UTC' from dual;
票数 2
EN

Stack Overflow用户

发布于 2016-04-06 08:16:19

好吧,这可能不是最优雅的方式,但这是一种可行的方式:

代码语言:javascript
复制
select regexp_substr('1970-01-01T00:00:00Z','^....................',1,1) from dual;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36444615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档