SQL Server执行建表语句报Msg 2715找不到Number数据类型如何解决?
问题排查与解决方案
报错原因
你使用的是SQL Server数据库,该数据库不存在内置的Number数据类型,Number是Oracle生态的通用数值类型,因此语句解析到OrderDate Number、ShipDate Number的字段定义时,就会抛出找不到对应数据类型的错误。
解决方案
根据你的实际使用场景二选一即可:
- 如果你后续需要对日期做范围查询、差值计算等操作,推荐使用SQL Server原生日期类型,修改后的建表语句如下:
CREATE TABLE Orders( OrderID int NOT NULL, CustomerName varchar(255), OrderDate DATE, -- 仅存储年月日选DATE即可 ShipDate DATETIME2, -- 需要存储时分秒可选DATETIME/DATETIME2 PRIMARY KEY (OrderID) );
- 如果你确实需要存储数值型时间戳(比如Unix时间戳),可以替换为SQL Server支持的数值类型,存储毫秒级时间戳推荐使用
BIGINT:
CREATE TABLE Orders( OrderID int NOT NULL, CustomerName varchar(255), OrderDate BIGINT, ShipDate BIGINT, PRIMARY KEY (OrderID) );
内容的提问来源于stack exchange,提问作者RegentVase
相关产品推荐
相关产品推荐

