我尝试将值插入SURVEY.YSG表(在插入查询中使用)
INSERT INTO SURVEY.YSG(YSG_ID,YSG_MSN_DTM,TAX_ID,TAX_NM,TYPE_CD,USER_ID,
FRST_NM,LAST_NM,SHL_TXT,NPR_DT, PHONE_NBR,FAX_NBR,
EMAIL_ADRS_TXT,YSG_IMD,MDFD_ID,YSG_VRFCTN_CD,
YSG_VRFCTN_DTM,LOG_KEY,PLS_DTM,LOAD_KEY,UPDTD_LOAD_KEY )
VALUES ( '103','2011-08-11 13:34:36.000000','656002075',
'STG HEALTH SYSTEM','null','OPLINKS4','UNK','UNK','UNK',
'12/31/8888','UNK','UNK','UNK','X','UNK','Y','8888-12-31 00:00:00.000000',
0,'2011-07-20 12:00:00.000000',0,0)
错误报告: SQL错误:ORA-01843:不是有效月份 01843. 00000 - “不是有效月份” *原因:
*操作:
以下是在SURVEY.YSG
表格中使用日期和时间戳创建的4列。
YSG_MSN_DTM - TIMESTAMP(6)
NPR_DT - DATE
YSG_VRFCTN_DTM - TIMESTAMP(6)
PLS_DTM - TIMESTAMP(6)
尝试使用TO_DATE()
函数:
TO_DATE('2011-08-11 13:34:36','YYYY-MM-DD HH24:MI:SS')
输出如:11-AUG-11 01.34.36.000000000 PM.
预期产出:
专栏:YSG_MSN_DTM
- > 2011-08-11 13:34:36.000000
以及另一列中的NPR_DT
列 - > 12/31/8888
。
还有其他方法可以在Oracle中实现这一目标吗?
感谢您的任何帮助。
由于
答案 0 :(得分:0)
试试这个:
INSERT INTO
SURVEY.YSG ( YSG_ID,
YSG_MSN_DTM,
TAX_ID,
TAX_NM,
TYPE_CD,
USER_ID,
FRST_NM,
LAST_NM,
SHL_TXT,
NPR_DT,
PHONE_NBR,
FAX_NBR,
EMAIL_ADRS_TXT,
YSG_IMD,
MDFD_ID,
YSG_VRFCTN_CD,
YSG_VRFCTN_DTM,
LOG_KEY,
PLS_DTM,
LOAD_KEY,
UPDTD_LOAD_KEY )
VALUES
( '103',
TO_TIMESTAMP ( '2011-08-11 13:34:36.000000',
'YYYY-MM-DD HH24:MI:SS.FF' ),
'656002075',
'STG HEALTH SYSTEM',
'null',
'OPLINKS4',
'UNK',
'UNK',
'UNK',
TO_DATE ( '12/31/8888',
'MM/DD/YYYY' ),
'UNK',
'UNK',
'UNK',
'X',
'UNK',
'Y',
TO_TIMESTAMP ( '8888-12-31 00:00:00.000000',
'YYYY-MM-DD HH24:MI:SS.FF' ),
0,
TO_TIMESTAMP ( '2011-07-20 12:00:00.000000',
'YYYY-MM-DD HH24:MI:SS.FF' ),
0,
0 );