这是我第一次在这里发布信息,我是SQL的基本用户,需要帮助。
我有一varchar列存储如下数据:
varchar
Year.Docid 2007.000000001 2007.000000002 2007.000000003 2007.000000004 2007.000000005 2007.000000006
我需要将此数据连接到小数点后没有全零的另一个表中,有人可以告诉我如何获取数据,如下所示:
Year Docid 2007.1 2007.2 2007.3 2007.4 2007.5 2007.6
我正在使用MICROSOFT SQL SERVER 2012
如果格式是固定的,即YYYY.NNNNNNNNN,您只可以获取最后9个字符,将它们转换为int,将结果转换回varchar并连接回前5个字符:
YYYY.NNNNNNNNN
int
LEFT([Year.Docid], 5) + CAST(CAST(RIGHT([Year.Docid], 9) AS int) AS varchar(10))
但是,将Year和Docid作为两个单独的int列存储在两个表中会更有意义。只为输出而组装它们比每次处理 并结合 其结果要容易得多。