我在SQL Server中有一个字符串。我需要帮助,因为我是SQL的新手。
DECLARE @a varchar(50) = 201207我想如果最后两个字符小于7,那么年份应该减少到输出201107,否则应该是201307
发布于 2016-11-21 14:29:04
试试这个
DECLARE @a  VARCHAR(50)=201206,
        @dt DATE
SET @dt = Cast(@a + '01' AS DATE)
SELECT CASE
         WHEN Month(@dt) < 7 THEN LEFT(CONVERT(VARCHAR(10), Dateadd(yyyy, -1, @dt), 112), 6)
         ELSE LEFT(CONVERT(VARCHAR(10), Dateadd(yyyy, 1, @dt), 112), 6)
       END https://stackoverflow.com/questions/40713736
复制相似问题