|
Posted by Erland Sommarskog on 09/17/07 21:18
Yas (yasar1@gmail.com) writes:
> firstname, lastname1, lastname2, EMAIL
>
> Table has user names and email, I would like to generate a 5th column
> called DisplayName.
> The email Id is sometimes firstname.lastname1.lastname2@ and others
> just firstname.lastname1@
>
> I would like to generate the display name exactly like the email eg
> firstname.lastname1.lastname2@ displayName = firstname lastname1
> lastname2......so for james.smith display name = James Smith and for
> james.earl.smith displayName = James Earl Smith etc etc
>
> Is there a way that I can check/compare email Id (before the @ part)
> with firstname, lastname1 and lastname2 and generate a display name
> based on what was used for the email address?
>
> I hope I've explained this well :-)
UPDATE tbl
SET DisplayName = CASE substring(lower(email),
1, charindex('@', email) - 1)
WHEN lower(firstname) + '.' + lower(lastname)
THEN firstname + ' ' + lastname
WHEN lower(firstname) + '.' + lower(lastname) +
'.' + lower(lastname2)
THEN firstname + ' ' + lastname + ' '
lastname2
END
WHERE DisplayName IS NULL
I have here assumed that firstname, lastname and lastname2 are entered
with proper case.
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Navigation:
[Reply to this message]
|