如果列是DateTime類型看看DATEADD
SELECT GETDATE(), DATEADD(year, 1, GETDATE())
對於VARCHAR,你可以嘗試像
DECLARE @Table TABLE(
Date VARCHAR(8)
)
INSERT INTO @Table SELECT '20090301'
SELECT *
FROM @Table
UPDATE @Table
SET Date = '2010' + RIGHT(Date, 4)
WHERE LEFT(Date,4) = '2009'
SELECT *
FROM @Table
或類似的東西
DECLARE @Table TABLE(
ID VARCHAR(4),
Date VARCHAR(8)
)
INSERT INTO @Table SELECT '01','20100122'
INSERT INTO @Table SELECT '01','20100123'
INSERT INTO @Table SELECT '01','20100124'
INSERT INTO @Table SELECT '01','20100125'
INSERT INTO @Table SELECT '01','20100126'
INSERT INTO @Table SELECT '01','20090127'
INSERT INTO @Table SELECT '01','20090128'
INSERT INTO @Table SELECT '01','20090129'
INSERT INTO @Table SELECT '01','20090130'
INSERT INTO @Table SELECT '01','20090131'
INSERT INTO @Table SELECT '01','20090201'
INSERT INTO @Table SELECT '01','20100202'
INSERT INTO @Table SELECT '01','20090203'
INSERT INTO @Table SELECT '01','20100204'
INSERT INTO @Table SELECT '01','20100205'
UPDATE @Table
SET Date = '2010' + RIGHT(Date, 4)
WHERE Date >= '20090126'
AND Date <= '20090203'
AND ID = '01'
SELECT *
FROM @Table
是你的日期存儲爲'datetime'或'varchar'? – 2010-02-17 10:13:29
@Christian - No是一個varchar? – Gopal 2010-02-17 10:15:02
對不起,我不瞭解你。您表中「Date」列的數據類型是否定義爲「datetime」或「varchar」? – 2010-02-17 10:17:49