Wednesday, March 31, 2010

SQL dynamic IN clause

declare @currentGroup varchar(20),@SQL varchar(max)
set @currentGroup = '''003'',''004'''
select @currentGroup

set @SQL = N'SELECT count(*) from [YOURTABLE] where GRNBR in (' + @currentGroup + ')'
exec (@SQL)

Friday, March 12, 2010

separate first & last name using space, SQL, SPLIT

select
SUBSTRING(elg.FirstName, (CHARINDEX(' ', elg.FirstName) + 1),LEN(elg.FirstName)) AS [LastName]
,rtrim(ltrim(SUBSTRING(elg.FirstName, 1,CHARINDEX(' ', elg.FirstName)))) AS [FirstName]
,elg.FirstName
,elg.LastName
from dbm.EgLoads elg
where elg.BatchId='{207c6838-fe87-40d1-9353-0d60055c93f2}'
and LEN(SUBSTRING(elg.FirstName, (CHARINDEX(' ', elg.FirstName) + 1),LEN(elg.FirstName))) < = 2
and len(elg.FirstName) <> 1