根据某个数字连接字符

时间:2015-04-10 09:15:45

标签: sql sql-server

我想编写一个SQL脚本,可以根据一些数字连接像逗号一样的字符

实施例

UPDATE Table1 
SET column1 = column1 + '.'
WHERE LEN(column1) = 2

UPDATE Table1 
SET column1 = column1 + '..'
WHERE LEN(column1) = 3

UPDATE Table1 
SET column1 = column1 + '...'
WHERE LEN(column1) = 4

我想自动渲染此脚本

感谢。

2 个答案:

答案 0 :(得分:2)

此查询添加3个点'。'到column1中的所有值,长度= 3

declare @chr varchar(1) = '.'
declare @len int = 3

UPDATE Table1 
SET column1 = column1 + replicate(@chr, LEN(column1))
WHERE LEN(column1) = @len -- where clause is optional

没有where,查询将更新所有行并添加LEN(column1)

答案 1 :(得分:0)

这将为您生成更新

SELECT 
   'UPDATE Table1 SET column1 = column1 + ''' + REPLICATE('.', LEN(column1) -1) + ''' WHERE LEN(column1) = ' + CONVERT(VARCHAR, LEN(column1))
FROM 
   Table1
WHERE
   LEN(column1) > 1
GROUP BY LEN(column1)