Replace Spaces with other characters : Use Substitute function
=SUBSTITUTE(G2," ","")
Sunday, April 29, 2012
Wednesday, April 11, 2012
Tuesday, April 10, 2012
Configure DB mail and Send Email on Backup Failure
Monday, April 2, 2012
Split First Name Last Name Company- Split 1 Column to multiple
Name | |
user Name1 | xyz@abc.com |
user Name2 | xyz1@abc.com |
User Name 3 (Company Inc) | xyz2@abc.com |
Mr 123456 678 | xyz3@abc.com |
user Name4 123344 (Company Interactive 123) | xyz4@abc.com |
Marcelle XYZ | xyz5@abc.com |
Create a temp table and insert the data.
As you can see we may or may not have "braces" with company name.
Use the following code to split the first name, last name and company name.
[code language="sql"]
--drop table temp
Create table temp (
id int identity(1,1)
,Name nvarchar(500)
,Email nvarchar(100)
)
insert into temp values ('user Name1','xyz4@abc.com'),('user Name4 123344 (Company Interactive 123)','xyz4@abc.com')
select * from temp
alter table temp
add
FirstName nvarchar(100),LastName nvarchar(100),Company nvarchar(100)
DECLARE
@Id int
,@Name nvarchar(1000)
,@FirstName nvarchar(100)
,@LastName nvarchar(100)
,@Company nvarchar(100)
,@sDelimiter nVARCHAR(100)
DECLARE vendor_cursor CURSOR FOR
select Id, Name from temp
OPEN vendor_cursor
FETCH NEXT FROM vendor_cursor
INTO @Id, @Name
WHILE @@FETCH_STATUS = 0
BEGIN
select @FirstName = ''
,@LastName = ''
,@Company = ''
SET @sDelimiter = ' '
IF CHARINDEX(@sDelimiter,@Name,0) <> 0
BEGIN
SELECT @FirstName = RTRIM(LTRIM(SUBSTRING(@Name,1,CHARINDEX(@sDelimiter,@Name,0)-1))),
@Name = RTRIM(LTRIM(SUBSTRING(@Name,CHARINDEX(@sDelimiter,@Name,0)+LEN(@sDelimiter),LEN(@Name))))
END
SET @sDelimiter = '('
IF CHARINDEX(@sDelimiter,@Name,0) <> 0
BEGIN
SET @LastName = RTRIM(LTRIM(SUBSTRING(@Name,1,CHARINDEX(@sDelimiter,@Name,0)-1)))
set @Company = REPLACE (RTRIM(LTRIM(SUBSTRING(@Name,CHARINDEX(@sDelimiter,@Name,0)+LEN(@sDelimiter),LEN(@Name)))),')','')
END
ELSE
SET @LastName = substring(@Name,charindex(' ', @Name)+1,len(@Name))
update temp
set
FirstName = @FirstName
,LastName = @LastName
,Company = @Company
where
Id = @Id
FETCH NEXT FROM vendor_cursor
INTO @Id, @Name
END
CLOSE vendor_cursor
DEALLOCATE vendor_cursor
[/code]
Finally, your temp table will have the separated columns.
Labels:
company,
First name,
last name,
microsoft,
Microsoft Technologies,
split,
Split Name,
Sql Server,
SUBSTRING
Split First Name Last Name Company- Split 1 Column to multiple
Name | |
user Name1 | xyz@abc.com |
user Name2 | xyz1@abc.com |
User Name 3 (Company Inc) | xyz2@abc.com |
Mr 123456 678 | xyz3@abc.com |
user Name4 123344 (Company Interactive 123) | xyz4@abc.com |
Marcelle XYZ | xyz5@abc.com |
Create a temp table and insert the data.
As you can see we may or may not have "braces" with company name.
Use the following code to split the first name, last name and company name.
[code]
--drop table temp
Create table temp (
id int identity(1,1)
,Name nvarchar(500)
,Email nvarchar(100)
)
insert into temp values ('user Name1','xyz4@abc.com'),('user Name4 123344 (Company Interactive 123)','xyz4@abc.com')
select * from temp
alter table temp
add
FirstName nvarchar(100),LastName nvarchar(100),Company nvarchar(100)
DECLARE
@Id int
,@Name nvarchar(1000)
,@FirstName nvarchar(100)
,@LastName nvarchar(100)
,@Company nvarchar(100)
,@sDelimiter nVARCHAR(100)
DECLARE vendor_cursor CURSOR FOR
select Id, Name from temp
OPEN vendor_cursor
FETCH NEXT FROM vendor_cursor
INTO @Id, @Name
WHILE @@FETCH_STATUS = 0
BEGIN
select @FirstName = ''
,@LastName = ''
,@Company = ''
SET @sDelimiter = ' '
IF CHARINDEX(@sDelimiter,@Name,0) <> 0
BEGIN
SELECT @FirstName = RTRIM(LTRIM(SUBSTRING(@Name,1,CHARINDEX(@sDelimiter,@Name,0)-1))),
@Name = RTRIM(LTRIM(SUBSTRING(@Name,CHARINDEX(@sDelimiter,@Name,0)+LEN(@sDelimiter),LEN(@Name))))
END
SET @sDelimiter = '('
IF CHARINDEX(@sDelimiter,@Name,0) <> 0
BEGIN
SET @LastName = RTRIM(LTRIM(SUBSTRING(@Name,1,CHARINDEX(@sDelimiter,@Name,0)-1)))
set @Company = REPLACE (RTRIM(LTRIM(SUBSTRING(@Name,CHARINDEX(@sDelimiter,@Name,0)+LEN(@sDelimiter),LEN(@Name)))),')','')
END
ELSE
SET @LastName = substring(@Name,charindex(' ', @Name)+1,len(@Name))
update temp
set
FirstName = @FirstName
,LastName = @LastName
,Company = @Company
where
Id = @Id
FETCH NEXT FROM vendor_cursor
INTO @Id, @Name
END
CLOSE vendor_cursor
DEALLOCATE vendor_cursor
[/code]
Finally, your temp table will have the separated columns.
Labels:
company,
First name,
last name,
microsoft,
split,
Split Name,
Sql Server,
SUBSTRING
Subscribe to:
Posts (Atom)