Sql server 具有多个0的值的子字符串

Sql server 具有多个0的值的子字符串,sql-server,substring,Sql Server,Substring,表中的数据如下所示 ID Value 1 5006049 2 5006050 如何选择子字符串以获得 R6049 R6050 请记住,这些值是从 5000001 = R1 到 我很容易想到: Select 'R'+Substring(convert(VARCHAR(7), Value), 4,7) 这将给出R0001(您想要零吗?) 如果您不想要零/只想删除顶部数字: Select 'R'+ convert(VARCHAR(6),Value - 5000000) 只是减去 S

表中的数据如下所示

ID  Value
1   5006049
2   5006050
如何选择子字符串以获得

R6049
R6050
请记住,这些值是从

5000001 = R1


我很容易想到:

Select 'R'+Substring(convert(VARCHAR(7), Value), 4,7)
这将给出R0001(您想要零吗?)

如果您不想要零/只想删除顶部数字:

Select 'R'+ convert(VARCHAR(6),Value - 5000000)
只是减去

SELECT 'R' +  CAST(VALUE - 5000000 as VARCHAR(6))
FROM table

太美了,我从没想过减法。要将VARCHAR与非VARCHAR值连接起来,需要进行良好的jobCAST或CONVERT,是的,它是一个整数列
SELECT 'R' +  CAST(VALUE - 5000000 as VARCHAR(6))
FROM table