为什么 DB2 数据库中的 DATE 中有一个时间部分?
Why does DATE in DB2 database have a time component in it?
如何使列数据类型为 DATE
,如 YYYY-MM-DD;
当我创建数据类型为 DATE 的 table 时,它将变为 TIMESTAMP(0)
当我ALTER SET DATA TYPE DATE
的时候,还是TIMESTAMP(0)
SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1;
SQLCODE=-171 会出错,当前日期是 2017-02-28 19:19:09.0
太长了。
数据库info:DB2linuxx64 10.5
CREATE TABLE "XCRSUSR"."TIMP_TASK_SERIAL" (
"SERIAL_NO" DECIMAL(16 , 0),
"TASK_NAME" VARCHAR(10),
"TASK_TYPE" DOUBLE,
"TASK_XML" CLOB(10) INLINE LENGTH 164,
"SEND_TIME" DATE,
"FINISH_TIME" DATE,
"TASK_STATUS" DOUBLE DEFAULT 0,
"RUN_TYPE" DOUBLE,
"FLAG" DOUBLE,
"TASK_ID" VARCHAR(10)
)
ORGANIZE BY ROW
DATA CAPTURE NONE
IN "CREDIT_U_16" INDEX IN "CREDIT_INDEX_16"
COMPRESS NO;
ALTER TABLE TIMP_TASK_SERIAL ALTER COLUMN SEND_TIME SET DATA TYPE DATE;
select CURRENT DATE from SYSIBM.SYSDUMMY1;
1
---------------------
2017-02-28 19:19:09.0
检查
的设置
Oracle_Compatibility
向量下
table1 中的第 7 位是您要查找的内容。
如何使列数据类型为 DATE
,如 YYYY-MM-DD;
当我创建数据类型为 DATE 的 table 时,它将变为 TIMESTAMP(0)
当我ALTER SET DATA TYPE DATE
的时候,还是TIMESTAMP(0)
SELECT CHAR(CURRENT DATE, ISO) FROM SYSIBM.SYSDUMMY1;
SQLCODE=-171 会出错,当前日期是 2017-02-28 19:19:09.0
太长了。
数据库info:DB2linuxx64 10.5
CREATE TABLE "XCRSUSR"."TIMP_TASK_SERIAL" (
"SERIAL_NO" DECIMAL(16 , 0),
"TASK_NAME" VARCHAR(10),
"TASK_TYPE" DOUBLE,
"TASK_XML" CLOB(10) INLINE LENGTH 164,
"SEND_TIME" DATE,
"FINISH_TIME" DATE,
"TASK_STATUS" DOUBLE DEFAULT 0,
"RUN_TYPE" DOUBLE,
"FLAG" DOUBLE,
"TASK_ID" VARCHAR(10)
)
ORGANIZE BY ROW
DATA CAPTURE NONE
IN "CREDIT_U_16" INDEX IN "CREDIT_INDEX_16"
COMPRESS NO;
ALTER TABLE TIMP_TASK_SERIAL ALTER COLUMN SEND_TIME SET DATA TYPE DATE;
select CURRENT DATE from SYSIBM.SYSDUMMY1;
1
---------------------
2017-02-28 19:19:09.0
检查
的设置Oracle_Compatibility
向量下
table1 中的第 7 位是您要查找的内容。