如何在 Oracle 数据库中正确插入日期时间? [复制]
Posted
技术标签:
【中文标题】如何在 Oracle 数据库中正确插入日期时间? [复制]【英文标题】:How to properly insert a datetime in Oracle database? [duplicate] 【发布时间】:2019-09-23 06:40:45 【问题描述】:我在我的 Oracle 数据库中插入日期,问题是我无法插入日期。
这是我的代码:
$clientquery = "INSERT INTO TBLCLIENT(CLIENTSID, NAME, BORWTYP, CLIENTTP, CLIENTUPDATE) VALUES('". $cid ."', '". $fullname ."', 'IND', 'I', '". $client_update ."')";
$clientsql = oci_parse($conn, $clientquery);
$clientexec = oci_execute($clientsql);
这是示例查询:
INSERT INTO LCCLIENT(CLIENTID, NAME, BORWTP, CLIENTTP, CLIENTUPDATE) 值('2000050431', 'hshs, js hdh', 'IND', 'I', '23-Sep-2019 02:11:48' )
我在尝试插入数据时收到此错误:
ORA-01830: 日期格式图片在转换整个输入字符串之前结束
【问题讨论】:
【参考方案1】:您需要在to_date函数中提供一个日期来将字符串转换为oracle可识别的日期,如下所示:
INSERT INTO LCCLIENT(CLIENTID, NAME, BORWTP, CLIENTTP, CLIENTUPDATE)
VALUES('2000050431', 'hshs, js hdh', 'IND', 'I',
to_date('23-Sep-2019 02:11:48','dd-mon-yyyy hh:mi:ss')); <-- this
干杯!!
【讨论】:
谢谢它有效,但你能告诉我为什么有效吗? Oracle 在插入日期时与 mysql 或 mssql 有很大不同 是的,在 oracle 中您需要使用 to_date 函数指定日期的格式,否则它会将 NLS_DATE_FORMAT 视为默认格式并仅接受该格式的日期。以上是关于如何在 Oracle 数据库中正确插入日期时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 oracle 数据库表中插入 csv 或 .txt 文件的日期列?