从SQL表中的数字指示符插入年份

时间:2016-07-27 09:04:53

标签: sql sql-server sql-server-2008

我需要能够在我的表Documents中填充年份,现在唯一的地方是保留年份在我的File_Name列中,但退回的是它不是整个年份格式。

例如

File_Name
11.NR012546
11.NR021548
11.NR021236
09.02154664

数据细分

11. = Year

NR012546 = Document number

现在,我需要获取今年的标识符并将其填入我在我的SQL列中创建的名为YEAR的列中,该格式需要显示YYYYY

**更新声明**

File_Name    |  YEAR
11.NR012546  |  2011
11.NR021548  |  2011
11.NR021236  |  2011
09.02154664  |  2009

我该怎么做?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果你的FileName格式是固定的,那么使用LEFT函数从文件名中检索数字并用' 20'

绑定
DECLARE @T TABLE (NAME VARCHAR(30),YEAR NUMERIC)
INSERT INTO @T(NAME) VALUES('11.NR012546'),('11.NR021548'),('11.NR021236'),('09.02154664')

UPDATE t
SET YEAR=CAST('20'+LEFT(NAME,2) AS NUMERIC)
FROM @T t

输出:

11.NR012546 2011
11.NR021548 2011
11.NR021236 2011
09.02154664 2009