SQL Server:如何删除10位数字的前2位数字,并在末尾添加2个固定数字

时间:2016-08-31 20:02:05

标签: sql sql-server function tsql

我需要完成以下操作:我有一个包含10位数字的列ID_NUMBER。我需要从数字的开头删除前两位数字,并在末尾再添加2个固定数字。

示例:

4795522061会变成9552206101

我总是需要在最后添加01

提前谢谢你们!

4 个答案:

答案 0 :(得分:1)

这似乎很简单:

SELECT RIGHT(ID_NUMBER,8) + '01'
FROM dbo.YourTable;

答案 1 :(得分:1)

如果它总是一个10位数字,你也可以应用模数而不是字符串操作:

cast(ID_NUMBER as bigint) % 100000000 * 100 + 1

这将提取最后8位数字,向左移动两位数字并加1。

答案 2 :(得分:0)

您需要一个简单的UPDATE命令,其语法类似于Lamak的帖子。 这会改变您的ID_NUMBER列中的值,因此一旦您提交了交易,就不会再回头了。

UPDATE dbo.Table
SET ID_NUMBER = RIGHT(ID_NUMBER,8) + '01'

答案 3 :(得分:0)

这似乎是一个非常直接的要求。我只是使用那个神奇的函数Right并将其转换为bigint:

 SELECT CAST((RIGHT(NUMBER, 8) + '01') AS BIGINT)

希望有所帮助!