I have a proc where I need to substring the field dbo.Batch.Name (char 50).Rule is: Need to substring from position 1 up till the 1st "-" likeRGWGSWD-391 THU 5/7/09 -> RGWGSWDRGWGJO-189 THU 5/7/09 -> RGWGJO RGS-250 MON 5/11/09 -> RGS Here is my code:SELECT dbo.Job.CompanyJobId as job, dbo.Item.CompanyItemId as costcode, dbo.Batch.ReportDate as jobdate, dbo.Equipment.CompanyEquipmentID as equipmentID, substring(dbo.Equipment.Name, 1, 20) as equipmentname, dbo.EquipmentLaborEvent.Hours as hours, dbo.Batch.Name as foreman,
substring (e2.UserName, 1, 10) as approver FROM dbo.EquipmentLaborEvent inner join dbo.Equipment on dbo.Equipment.EquipmentGuid = dbo.EquipmentLaborEvent.EquipmentGuid inner join dbo.Event on dbo.Event.EventGuid = dbo.EquipmentLaborEvent.EventGuid inner join dbo.Job on dbo.Job.JobGuid = dbo.Event.JobGuid inner join dbo.Item on dbo.Item.ItemGuid = dbo.Event.ItemGuid inner join dbo.Batch on dbo.Batch.BatchGuid = dbo.Event.BatchGuid inner join dbo.Region on dbo.Region.RegionGuid = Batch.RegionGuid left join dbo.Account e1 on e1.AccountGuid = dbo.Event.AccountGuid left join dbo.Account e2 on e2.AccountGuid = dbo.Event.ApprovedByAccountGuidWHERE (@Division IS Null OR dbo.Region.CompanyRegionID = @Division) and (@JobNumber IS Null or dbo.Job.CompanyJobID = @JobNumber) and (@EquipmentID IS Null or dbo.Equipment.CompanyEquipmentID = @EquipmentID) and (@DateFrom IS Null OR dbo.Batch.Reportdate >= @DateFrom) and (@DateTo IS Null OR dbo.Batch.ReportDate <= @DateTo) GROUP BY dbo.Job.CompanyJobID, dbo.Item.CompanyItemID, dbo.Batch.ReportDate, dbo.Equipment.CompanyEquipmentID, dbo.Equipment.Name, dbo.EquipmentLaborEvent.Hours, e1.UserName, e2.UserNameORDER BY dbo.Batch.ReportDate, dbo.Job.CompanyJobID, dbo.Item.CompanyItemID