0
我有一個這樣的查詢轉換的Varchar在一個子查詢
DECLARE @patientId INT
SET @patientId = 0
IF EXISTS(SELECT TOP 1 SUBSTRING(TRN02, 1, CHARINDEX('-', TRN02) - 1)
FROM EDI_X12.dbo.X12_TRN
WHERE X12_Interchange_GUID = 'd6803485-3f46-485c-8288-2cfc98ec7088'
AND TRN02 LIKE '%-%'))
BEGIN
SET @patientId = (SELECT TOP 1 SUBSTRING(TRN02, 1, CHARINDEX('-', TRN02) - 1)
FROM EDI_X12.dbo.X12_TRN
WHERE X12_Interchange_GUID = @px12_interchange_guid
AND TRN02 LIKE '%-%')
END
爲TRN02
值有些事情是112345-6458PT
這裏'6457PT'
到int是patientID
列被定義爲INT 以及如何轉換爲varchar到int在這個特定的查詢?
我要救 '6457PT' 爲INT場patientid
在此先感謝
納文
它是從'112345-6458PT',你想提取'6458'? – Unnie
你不需要'EXISTS'檢查。只需使用'SELECT TOP 1 @patientId = SUBSTRING'。如果沒有行匹配,則不進行分配。另外爲什麼沒有'ORDER BY'? –