I have a query some thing like this
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
The value for TRN02 is 112345-6458PT Here '6457PT' is patientID the column is defined as INT
and how do i convert varchar to int in this particular query?
I want to save '6457PT' as patientid in INT field
Thanks in advance
Naveen
EXISTScheck. Just useSELECT TOP 1 @patientId = SUBSTRING. If no rows match no assignment is made. Also why noORDER BY?