oracle 日期类型处理 发表于 2019-07-04 更新于 2020-02-19 阅读次数: 建表语句1234567CREATE TABLE "ORDERS" ( "ORDER_ID" NUMBER(12,0) NOT NULL ENABLE, "ORDER_DATE" TIMESTAMP (6) NOT NULL ENABLE, "ORDER_MODE" VARCHAR2(8 BYTE), "CUSTOMER_ID" NUMBER(6,0) NOT NULL ENABLE, "ORDER_TOTAL" NUMBER(8,2) ) ; SQL123456789101112131415161718192021222324252627-- SQL 错误: ORA-01843: 无效的月份INSERT INTO ORDERS VALUES(1, '09-mar-2007', 'online', '', 1000);-- SQL 错误: ORA-01400: 无法将 NULL 插入 ("SCOTT"."ORDERS"."ORDER_DATE")INSERT INTO ORDERS VALUES(2, TO_DATE(NULL), 'online', '1', 1000);-- SQL 错误: ORA-01722: 无效数字INSERT INTO ORDERS VALUES(3, TO_DATE(SYSDATE), 'online', ' ', 1000);-- SQL 错误: ORA-01400: 无法将 NULL 插入 ("SCOTT"."ORDERS"."CUSTOMER_ID")INSERT INTO ORDERS VALUES(3, TO_DATE(SYSDATE), 'online', '', 1000);--SUCCESS varchar2默认转numberINSERT INTO ORDERS VALUES(4, TO_DATE(SYSDATE), 'online', '1', 1000);-- DEFAULT是默认值,非空字段可使用INSERT INTO ORDERS VALUES(5, TO_DATE(SYSDATE), DEFAULT, 101, DEFAULT);INSERT INTO ORDERS VALUES(6, to_date('2019-07-02','yyyy-mm-dd,hh24:mi:ss'), DEFAULT, 101, DEFAULT);-- 存储时分秒INSERT INTO ORDERS VALUES(15, to_timestamp('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss'), DEFAULT, 101, DEFAULT);--时间戳/日期/字符串转换SELECT TO_DATE('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from DUAL ;SELECT TO_TIMESTAMP('2005-12-25,13:25:59','yyyy-mm-dd,hh24:mi:ss') from dual ;SELECT to_date('2019-07-02','yyyy-mm-dd,hh24:mi:ss') from dual ;SELECT TO_CHAR(ORDER_DATE, 'yyyy-mm-dd hh24:mi:ss') from ORDERS ;-- 浮点型数值计算SELECT SUM(ORDER_TOTAL) FROM ORDERS; sqldeveloper配置