在TSQL中构造日期

在TSQL中构造日期,sql,Sql,正在尝试构造日期: CAST('9/1/' + YEAR(GETDATE()) AS Datetime) AS test2 但它不起作用 是否希望获得类似于“9/1/2010”的内容?您不能将字符串'9/1'与数字连接起来:年份(GETDATE()),请尝试以下操作: 选择CAST('9/1/'+CONVERT(varchar(4),YEAR(GETDATE())作为Datetime)作为test2您可以使用格式为YYYYMMDD的字符串 SELECT CAST( '9/1/' + CAS

正在尝试构造日期:

CAST('9/1/' + YEAR(GETDATE()) AS Datetime) AS test2
但它不起作用


是否希望获得类似于“9/1/2010”的内容?

您不能将字符串
'9/1'
与数字连接起来:
年份(GETDATE())
,请尝试以下操作:


选择CAST('9/1/'+CONVERT(varchar(4),YEAR(GETDATE())作为Datetime)作为test2

您可以使用格式为YYYYMMDD的字符串

SELECT 
 CAST( '9/1/' + CAST( YEAR(GETDATE()) AS VARCHAR ) AS Datetime) AS test2 
您需要将年份(整数)强制转换为VARCHAR,然后才能附加它。

尝试以下操作:

Select DateAdd(month, 
           dateDiff(month, 0, getdate()) + 9 - MONTH(getdate()),
           0)

这是可行的,它使用快速的内置SQL(服务器?)函数,而不是字符串连接。