将字符插入列数据

时间:2016-02-08 20:06:20

标签: sql

我有一个现有的表,其中包含列中的数字数据(例如column1)。

数据由5到9个字符组成:

ex. 12345
    1234567
    123456789

我需要在最后3个字符前插入一个逗号:

ex. 12,345
    1234,567
    123456,789

这将在SQL Server上。

1 个答案:

答案 0 :(得分:0)

这应该这样做:

DECLARE @SomeNumber BIGINT
SET @SomeNumber = 1234567891234

SELECT REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,@SomeNumber),1), '.00','')

首先我们将数据转换为数据类型MONEY,这样我们就可以获得成千上万的逗号:

CONVERT(MONEY,@SomeNumber) 

然后我们将MONEY数据类型转换为VARCHAR数据类型:

CONVERT(VARCHAR,CONVERT(MONEY,@SomeNumber),1)

然后我们使用REPLACE函数从字符串中删除“.00”并将其替换为空字符串'':

REPLACE(CONVERT(VARCHAR,CONVERT(MONEY,@SomeNumber),1), '.00','')