sql 语句中遇到多个字段拼接怎么办?
sql 语句中多个字段要特殊格式怎么办?
sql 语句想要简化怎么办?
拼接函数为你解决疑惑, 如下代码块中
USE [AfterSale]
GO
/****** Object: UserDefinedFunction [dbo].[ConvertVertToHorz_repairs_detail_content] Script Date: 2021/7/14 16:31:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[ConvertVertToHorz_repairs_detail_content](@task_id varchar(100))
RETURNS VARCHAR(8000)
AS
BEGIN
-- 实际项目中,应该考虑 @RetVal 是否会超过 8000 个字符
DECLARE @RetVal varchar(8000)
SET @RetVal = ''
-- 通过递归 SELECT 连接指定列存储到临时变量中
SELECT @RetVal = a.task_content + ';' + @RetVal FROM ( SELECT DISTINCT repairs_detail.task_content FROM repairs_detail WHERE repairs_detail.task_id = @task_id ) a
-- 连接多列
-- SELECT @RetVal = Column2 + ',' + Column3 + ',' + Column4 + ',' + @RetVal FROM VertToHorzSample WHERE Column1 = @Col1Val
-- 去掉尾巴的 , (逗号)
IF LEN(@RetVal) > 0
SET @RetVal = LEFT(@RetVal, LEN(@RetVal) - 1)
--PRINT @RetVal
RETURN @RetVal
END