我有一个场景,我需要选择一行并将值连接到单个变量中。问题是如果某些列为空,则必须省略该部分。但在我的场景中,它给出了一个连字符,我在空白处使用它可以帮助我解决这个问题。
我试过这个......
SELECT @Location_Details = CONVERT(VARCHAR, ISNULL(O.CSS_No, ''))
+ '-' + CONVERT(VARCHAR, ISNULL(STREET.STREET_START_X, ''))
+ '-' + CONVERT(VARCHAR, ISNULL(STREET.STREET_START_Y, ''))
+ '-' + CONVERT(VARCHAR, ISNULL(STREETDES.STREET_DESCRIPTOR,
'')) + '-'
+ CONVERT(VARCHAR, ISNULL(STREETDES.LOCALITY_NAME, '')) + '-'
+ CONVERT(VARCHAR, ISNULL(STREETDES.TOWN_NAME, '')) + '-'
+ CONVERT(VARCHAR, ISNULL(HW.Description, '')) + '-'
+ CONVERT(VARCHAR, ISNULL(Add_stree.Additional_Street_Location_Text,
''))
FROM dbo.[order] O WITH ( NOLOCK )
LEFT JOIN dbo.Order_USRN_Header USRN WITH ( NOLOCK ) ON USRN.Order_No = O.Order_No
LEFT JOIN DatabaseName.dbo.STREET STREET WITH ( NOLOCK ) ON STREET.USRN_NO = USRN.USRN_No
LEFT JOIN DatabaseName.dbo.STREET_DESCRIPTOR STREETDES WITH ( NOLOCK ) ON STREETDES.USRN_NO = USRN.USRN_No
LEFT JOIN dbo.High_Way_Authority HW WITH ( NOLOCK ) ON HW.HW_Authority_ID = STREET.SWA_ORG_REF
LEFT JOIN [DatabaseName].dbo.additional_STREET Add_stree WITH ( NOLOCK ) ON USRN.USRN_No = Add_stree.USRN
WHERE O.Order_No ='123456'
这给出了这样的结果......
-565654-48798-MAIN STREET-Chennai-Tamilnadu-India-
有人可以帮忙吗...