I am getitng a substring error when querying with this string, when I reverse things out it comes down to the middle name is sometimes not there, how can I account for this when middle name is null thanks
Select p.strSSN,
substring(s.sidstrName_IND
, 1, charindex(' ', s.sidstrName_IND, 1)-1) Last,
substring(s.sidstrName_IND
, charindex(' ', s.sidstrName_IND, 1)+1, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)-charindex(' ', s.sidstrName_IND, 1)-1) First,
substring(s.sidstrName_IND
, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)+1, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)+1)-charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)-1) Middle,
case charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)+1) when 0 then '' else
substring(s.sidstrName_IND
, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)+1)+1, len(s.sidstrName_IND) - charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, charindex(' ', s.sidstrName_IND, 1)+1)+1)+1) end Suffix,
s.sidstrST_ADDR,
s.sidstrADDR_CITY,
s.sidstrSTATES_US,
s.sidstrZIP_CODE,
Sum(CONVERT(decimal(18,2),
REPLACE(p.strBasePay, '$', ''))) + SUM(Convert(Decimal(18,2),
Replace(p.strDiffPay, '$', ''))) as TotalPayTaxable,
SUM(Convert(Decimal(18,2),
Replace(p.strTTWH, '$', ''))) as TaxWithHeld
From tblsidpers as s INNER JOIN
tblSadPay as p on p.strSSN = s.sidstrSSN_SM
where dtPayPaid >= '8/01/2008' and dtPayPaid <= '8/30/2008'
Group by s.sidstrNAME_IND, p.strSSN, s.sidstrST_ADDR, s.sidstrADDR_CITY, s.sidstrSTATES_US, s.sidstrZIP_CODE
Start Free Trial