在纪元甲骨文中转换日期

我需要转换日期 TextBox 从时代的日期起,我可以将它插入 Oracle DB.

我设法在日期从时代转换它,如下所示,但我找不到另一种方式将其转换方法。


SelectCommand="SELECT ID,
COMPANY,
FIRST_NAME,
LAST_NAME,
ID_NUMBER,
/SELECT TO_CHAR/TO_DATE/'01-JAN-1970','DD/MM/YYYY'/
+/TRAINING_DATE/60/60/24/, 'MM/DD/YYYY'/ FROM dual/ AS TRAINING_DATE,
/SELECT TO_CHAR/TO_DATE/'01-JAN-1970','DD/MM/YYYY'/
+/TRAINING_VALABILITY/60/60/24/,'MM/DD/YYYY'/ FROM dual/ AS TRAINING_VALABILITY
FROM CONTRACTORS
ORDER BY COMPANY"
已邀请:

三叔

赞同来自:

减法
DATE '1970-01-01'

从价值将提供天数 /和分数 hours/minutes/seconds/ 差异,然后你可以乘以
24*60*60

:


/date_value - DATE '1970-01-01'/*24*60*60


更新

:

通常,时间从
1970-01-01T00:00:00 UTC

. 如果您的约会不在 UTC, 您需要转换时区。

例如,如果您的日期有时区
Europe/Berlin

:


/ CAST/
FROM_TZ/
CAST/ date_value AS TIMESTAMP /, -- Cast to timestamp
'Europe/Berlin' -- Convert to expected Time Zone
/
AT TIME ZONE 'UTC' -- Convert Time Zone to UTC
AS DATE -- Cast back to DATE data type
/
- DATE '1970-01-01'
/*24*60*60


https://dbfiddle.uk/%3Frdbms%3 ... 5ae44

风见雨下

赞同来自:

UpdateCommand="UPDATE CONTRACTORS
SET COMPANY=:COMPANY,
FIRST_NAME=:FIRST_NAME,
LAST_NAME=:LAST_NAME,
ID_NUMBER=:ID_NUMBER,
TRAINING_DATE=/TO_DATE/:TRAINING_DATE, 'MM-DD-YYYY HH24:MI:SS'/ - TO_DATE/'01-JAN-1970','DD/MM/YYYY'//*24*60*60,
TRAINING_VALABILITY=/TO_DATE/:TRAINING_VALABILITY, 'MM-DD-YY`enter code here`YY HH24:MI:SS'/ - TO_DATE/'01-JAN-1970','DD/MM/YYYY'//*24*60*60
WHERE /ID=:ID/"

要回复问题请先登录注册