无法使用 CAST 函数
Unable to use CAST Function
在使用 DATE 表达式时,我无法在 MS SQL 服务器中执行 CAST 函数。
CAST(CAST('2012-10-01' - DateHired AS INTEGER) / 365 AS INTEGER
错误消息;数据类型 varchar 和 date 在减法运算符中不兼容。
DATEADD ( DAY, '2012-10-01' - DateHired)/ 365 AS YearsWithSchool
错误信息; dateadd 函数需要 3 个参数。
是的,我尝试了每种逻辑日期和时间数据类型...
需要/感谢帮助
用字符串减法会出错。
Select '2015-05-20' - '2015-05-19'
错误:数据类型 varchar 和 varchar 在减法运算符中不兼容。
两个日期相减会得到另一个日期。
尝试使用 datediff 得到你想要的,这是一个数字:
datediff(day, '2012-10-01' , DateHired) / 365
如您的错误消息所示,DATEADD 函数采用三个参数,如下所示:
DATEADD (datepart , number , date )
除非您要为日期添加特定数字,否则我会使用 DATEDIFF。
如果您使用的是SQL Server 2012,您可以使用DATEFROMPARTS
函数形成一个日期,DateDiff
求出两个日期之间的差异,最后cast
(你真的必须吗??)你的结果为整数
CAST(DATEDIFF(day, DATEFROMPARTS(2012,10,1 ), DateHired)/365 AS INTEGER)
在使用 DATE 表达式时,我无法在 MS SQL 服务器中执行 CAST 函数。
CAST(CAST('2012-10-01' - DateHired AS INTEGER) / 365 AS INTEGER
错误消息;数据类型 varchar 和 date 在减法运算符中不兼容。
DATEADD ( DAY, '2012-10-01' - DateHired)/ 365 AS YearsWithSchool
错误信息; dateadd 函数需要 3 个参数。
是的,我尝试了每种逻辑日期和时间数据类型...
需要/感谢帮助
用字符串减法会出错。
Select '2015-05-20' - '2015-05-19'
错误:数据类型 varchar 和 varchar 在减法运算符中不兼容。
两个日期相减会得到另一个日期。
尝试使用 datediff 得到你想要的,这是一个数字:
datediff(day, '2012-10-01' , DateHired) / 365
如您的错误消息所示,DATEADD 函数采用三个参数,如下所示:
DATEADD (datepart , number , date )
除非您要为日期添加特定数字,否则我会使用 DATEDIFF。
如果您使用的是SQL Server 2012,您可以使用DATEFROMPARTS
函数形成一个日期,DateDiff
求出两个日期之间的差异,最后cast
(你真的必须吗??)你的结果为整数
CAST(DATEDIFF(day, DATEFROMPARTS(2012,10,1 ), DateHired)/365 AS INTEGER)