关于自定义函数。解决方法
关于自定义函数。
现有表ProductInfo,其中有一字段Atrribute,Atrribute的数据值为无规律字符串。现在我想实现的是,把Atrribute的数据值每隔三个字符用逗号隔开。如图所示:

变成

用什么方法可以实现呢?自定函数可以吗?具体怎么实现?求教。
------解决方案--------------------
UPDATE ProductInfo SET Attribute = dbo.fn_GetAttribute(Attribute)
------解决方案--------------------
也可以直接写在select的字段位置
现有表ProductInfo,其中有一字段Atrribute,Atrribute的数据值为无规律字符串。现在我想实现的是,把Atrribute的数据值每隔三个字符用逗号隔开。如图所示:
变成
用什么方法可以实现呢?自定函数可以吗?具体怎么实现?求教。
自定义函数
------解决方案--------------------
CREATE FUNCTION fn_GetAttribute(@attribute NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @output NVARCHAR(MAX) = ''
WHILE LEN(@attribute) > 3
BEGIN
SET @output = @output + SUBSTRING(@attribute,1,3) + ','
SET @attribute = SUBSTRING(@attribute,4,LEN(@attribute) - 3)
END
SET @output = @output + @attribute
RETURN @output
END
UPDATE ProductInfo SET Attribute = dbo.fn_GetAttribute(Attribute)
------解决方案--------------------
也可以直接写在select的字段位置