【发布时间】:2014-09-20 19:06:01
【问题描述】:
Oracle SQL函数TO_DATE()或TO_TIMESTAMP()的通用版本是什么?
简单表格举例:
CREATE TABLE SAMPLE
(
TRUE_DATE DATE,
CHAR_DATE VARCHAR2(10 CHAR)
);
当使用相同的 TO_DATE() 函数在 DATE 和 VARCHAR 字段中写入日期时
INSERT INTO SAMPLE
(TRUE_DATE, CHAR_DATE)
VALUES
(TO_DATE('1990-01-01','YYYY-MM-DD'), TO_DATE('1990-01-01','YYYY-MM-DD'));
在 Oracle 中它可以正常工作。如何编写具有相同行为的类似内容以适用于所有数据库系统?
【问题讨论】:
-
没有通用版本,但是您可以为不同的数据库编写不同的查询并检查应用程序中的数据库风格,并为该特定数据库使用正确的查询。不是您要找的,我知道。
-
@Mihai:有一个“通用”版本——由 SQL 标准定义的版本。 Buf是否所有DBMS都支持这是另一个问题
-
TO_DATE返回一个日期。TO_TIMESTAMP返回一个 TIMESTAMP。这些是完全不同的数据类型。
标签: sql oracle datetime ansi-sql