相关疑难解决方法(0)

为什么为DATETIME值定义加法运算符而不为DATE定义?

我知道解决方法是DATEADD用于两种数据类型.我想理解为什么语言设计者选择为一种数据类型而不是另一种数据类型定义此运算符?

当你尝试直接使用加号运算符 DATE

DECLARE @tomorrow DATE = CONVERT(DATE, GETDATE()) + 1
Run Code Online (Sandbox Code Playgroud)

你收到此错误信息:

消息206,级别16,状态2,行1
操作数类型冲突:日期与int不兼容

但是,您可以向a添加一个整数DATETIME,并且可以隐式地将其转换DATETIMEDATE没有错误的整数:

DECLARE @thisTimeTomorrow DATETIME = GETDATE() + 1
DECLARE @tomorrow DATE = GETDATE() + 1
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server datetime

6
推荐指数
1
解决办法
1094
查看次数

标签 统计

datetime ×1

sql-server ×1

t-sql ×1