如何解决HSQLDB创建用于sqlserver的单元测试的表
我正在使用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_DATE
和CREATION_DATE
之外,其他所有方法都可以正常工作。 DATE
是这里的一种好格式吗?此处的sqlserver是否还有其他DATE
类型?
解决方法
SQL Server documentation说:
将时间,日期,datetime2和datetimeoffset数据类型用于新 工作。这些类型符合SQL标准。它们更便携。 time,datetime2和datetimeoffset提供更高的秒精度。 datetimeoffset为全局部署提供时区支持 应用程序。
SQL标准类型为TIME,DATE,TIMESTAMP和TIMESTAMP WITH TIME ZONE。 Microsoft使用DATETIME2和DATETIMEOFFSET作为TIMESTAMP(具有时区)的别名。
您在表定义中使用DATE似乎很好。根据SQL标准,DATE表示为YYYY-MM-DD字符串。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。