【问题标题】:HSQLDB creating table for unit test for sqlserverHSQLDB为sqlserver的单元测试创​​建表
【发布时间】:2020-09-03 12:23:25
【问题描述】:

我正在使用 hsqldb 为我的 sqlserver 单元测试创​​建表。这是我的语法:

SET DATABASE SQL SYNTAX MSS TRUE;

DROP TABLE MY_STUDIES IF EXISTS;
CREATE TABLE MY_STUDIES
(
STUDY_ID INT,
IB_ID INT NOT NULL,
STUDY_DATE DATE,
CREATION_DATE DATE,
STUDY_UID VARCHAR(200),
PRIMARY KEY (STUDY_ID)
);

除了STUDY_DATECREATION_DATE 之外,一切都运行良好。 DATE 这里的格式好吗?这里的sqlserver还有其他DATE类型吗?

【问题讨论】:

标签: sql-server hsqldb


【解决方案1】:

SQL Server documentation 说如下:

使用 time、date、datetime2 和 datetimeoffset 数据类型来新建 工作。这些类型符合 SQL 标准。它们更便携。 time、datetime2 和 datetimeoffset 提供更高的秒精度。 datetimeoffset 为全局部署提供时区支持 应用程序。

SQL 标准类型是 TIME、DATE、TIMESTAMP 和 TIMESTAMP WITH TIME ZONE。 Microsoft 使用 DATETIME2 和 DATETIMEOFFSET 作为 TIMESTAMP (WITH TIME ZONE) 的别名。

您在表定义中使用 DATE 似乎没问题。根据 SQL 标准,DATE 表示为 YYYY-MM-DD 字符串。

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 2012-02-04
    • 2019-12-01
    • 1970-01-01
    • 2013-06-27
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    相关资源
    最近更新 更多