SQLserver 动态拼接字符串 和字符串转换函数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012571917/article/details/79807553

SQLserver 小知识

1.动态拼接字符串
DECLARE @COL NVARCHAR(500)=N”,@SQL NVARCHAR(MAX)=N”,@XMMC NVARCHAR(200)=’微量元素测定’
SELECT @COL=@COL+’[‘+COLNM+’],’ FROM LabCross.DBO.BASEINFO
WHERE CODENAME=@XMMC
SET @COL=SUBSTRING(@COL,1,LEN(@COL)-1)
SET @SQL=’
WITH T AS(
SELECT PatientName ,
PatientSourceName ,
SpecimenCollectionDateTime ,
ObservationName_EN,
ObservationNumberValue
FROM [LabCross_CDC].[dbo].[检验指标1]
WHERE ObservationGroupName =”’+@XMMC+”’
)
SELECT PatientName ,
PatientSourceName ,
SpecimenCollectionDateTime ,’+@COL+’

FROM T PIVOT( MAX(ObservationNumberValue) FOR ObservationName_EN IN (‘+@COL+’ ) ) a
EXEC (@SQL)
2.CAST 函数用来转换字符串 ;
如果前值为空,则查后值,否则 查前值
CASE WHEN 前值条件 THEN 满足条件 ELSE 否则 END.
CASE WHEN _Lab_Result.ObservationOriginalValue =” THEN CAST(_Lab_Result.ObservationNumberValue AS NVARCHAR(100))
ELSE _Lab_Result.ObservationOriginalValue END AS ObservationNumberValue

猜你喜欢

转载自blog.csdn.net/u012571917/article/details/79807553