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”