Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 截止日期_Oracle_Date - Fatal编程技术网

Oracle 截止日期

Oracle 截止日期,oracle,date,Oracle,Date,好的,我有一个日期字符串: 2016-05-31T23:00:00.000Z 例如,我希望能够使用它在Oracle 12c表中搜索日期 SELECT stuff FROM TABLE WHERE date_column > TO_DATE('2016-05-31T23:00:00.000Z', 'what goes here?'); 我想不出这个日期是什么格式的,有人能帮忙吗?这可能很简单,但我似乎找不到它 编辑:这不是C#如果需要将表示UTC的字符串转换为本地时区,则需要执行几个

好的,我有一个日期字符串:

2016-05-31T23:00:00.000Z
例如,我希望能够使用它在Oracle 12c表中搜索日期

SELECT stuff 
FROM TABLE 
WHERE date_column > TO_DATE('2016-05-31T23:00:00.000Z', 'what goes here?');
我想不出这个日期是什么格式的,有人能帮忙吗?这可能很简单,但我似乎找不到它


编辑:这不是C#

如果需要将表示UTC的字符串转换为本地时区,则需要执行几个步骤。起点是使用
来_timestamp()

select to_timestamp('2016-05-31T23:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')
from dual;

TO_TIMESTAMP('2016-05-31T23:00:00.000Z','YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')
-------------------------------------------------------------------------
2016-05-31 23:00:00.000                                                  
然后,您可以声明无时区的值实际上是UTC,其
来自\u tz()

然后您可以将其转换为您自己的时区:

select from_tz(
  to_timestamp('2016-05-31T23:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'),
  'UTC') at time zone 'Europe/London'
from dual;

FROM_TZ(TO_TIMESTAMP('2016-05-31T23:00:00.000Z','YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'
--------------------------------------------------------------------------------
2016-06-01 00:00:00.000 EUROPE/LONDON                                           
如果要将其作为日期数据类型返回,可以强制转换:

select cast(from_tz(
  to_timestamp('2016-05-31T23:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'),
  'UTC') at time zone 'Europe/London' as date)
from dual;

CAST(FROM_TZ(TO_TIMESTAMP('2016-05-31T23:00:00.000Z','YYYY-MM-DD"T"HH24:MI:SS.FF
--------------------------------------------------------------------------------
2016-06-01 00:00:00                                                             

如果需要将表示UTC的字符串转换为本地时区,则需要执行几个步骤。起点是使用
来_timestamp()

select to_timestamp('2016-05-31T23:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')
from dual;

TO_TIMESTAMP('2016-05-31T23:00:00.000Z','YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')
-------------------------------------------------------------------------
2016-05-31 23:00:00.000                                                  
然后,您可以声明无时区的值实际上是UTC,其
来自\u tz()

然后您可以将其转换为您自己的时区:

select from_tz(
  to_timestamp('2016-05-31T23:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'),
  'UTC') at time zone 'Europe/London'
from dual;

FROM_TZ(TO_TIMESTAMP('2016-05-31T23:00:00.000Z','YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'
--------------------------------------------------------------------------------
2016-06-01 00:00:00.000 EUROPE/LONDON                                           
如果要将其作为日期数据类型返回,可以强制转换:

select cast(from_tz(
  to_timestamp('2016-05-31T23:00:00.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'),
  'UTC') at time zone 'Europe/London' as date)
from dual;

CAST(FROM_TZ(TO_TIMESTAMP('2016-05-31T23:00:00.000Z','YYYY-MM-DD"T"HH24:MI:SS.FF
--------------------------------------------------------------------------------
2016-06-01 00:00:00                                                             

你需要时间部分吗?是的,我需要时间部分。@RickRunowski,即
C#
如果时间需要从UTC('Z')调整到本地时间,这个问号是
Oracle
。如果分数部分始终为.000,您也可以使用
TO_DATE()
,方法是将其视为文字。@RickRunowski,看起来是c#您需要时间部分吗?是的,我需要时间部分。@RickRunowski,即
c#
如果时间需要从UTC('Z')调整到本地时间,则此问号是
Oracle
。如果分数部分始终为.000,您也可以使用
TO_DATE()
,将其视为一个文字。@RickRunowski,看起来是c语言的,这看起来会起作用-看起来很复杂,但谢谢您的时间。我刚刚发现Bash更具宽容性,所以我首先将其转换为:
date-d“2016-05-31T23:00:00.000Z”
这看起来会起作用-看起来很复杂,但感谢您抽出时间。我刚刚发现Bash更宽容,所以我首先将其转换为:
date-d“2016-05-31T23:00:00.000Z”