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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值