我需要变量@end_period作为字符,例如01而不是1 以下代码有什么问题?TSQL - char更改为INT
DECLARE @start_year AS CHAR(4)
DECLARE @end_year AS CHAR(4)
DECLARE @start_period AS CHAR(2)
DECLARE @end_period AS CHAR(2)
DECLARE @start_date as datetime
DECLARE @end_date as datetime
SET @start_year = '2014'
SET @end_year = '2014'
SET @start_period = '07'
SET @end_period = '08'
SET @end_year = CASE WHEN @end_period ='12' THEN @end_year + 1 ELSE @end_year END
SET @end_period = CASE WHEN @end_period ='12' THEN '01' ELSE @end_period + 1 END
select @end_year
select @end_period
为什么不用'dateadd'和'datepart'代替所有这些东西。您可以先将日期格式化的字符串转换为日期。 – 2014-09-05 13:29:13