Drop Table
Support Forum for database administrators and web based access to important newsgroups related to databasesHello, I have this Access 2K query that I need to re-create in MS SQL
Server 2000, so I'm using the Query Analyzer to test it.
One of the Access fields stores the home phone number. In the Access
query, if the phone number is null, it fills it up with zeroes
"000000000." If the phone has an input mask, it only gets the 9 numbers
(area code included) and if the phone number's good (all numbers) then
it leaves it alone. That Access query is using immediate ifs to
accomplish that task.
Does anyone have any idea how to copy this behavior into SQL Server
2000? I've using the CASE statement but so far my code is not correct.
I get stuck in the input mask. This is the Access code:
HomePhone:
IIf(IsNull([HomePhone]),"0000000000",IIf(Left([HomePhone],1)="(",Rig
ht(Left(& #91;Homephone],4),3)
& Right(Left(& #91;Homephone],9),3)
& Right([HomePhone],4),[HomePhone
]))
Thanks for all your help.
JR.
Post Follow-up to this message(ILCSP@NETZERO.NET) writes:
> HomePhone:
>
IIf(IsNull([HomePhone]),"0000000000",IIf(Left([HomePhone],1)="(",Rig
ht(Left(
& #91;Homephone],4),3)
> & Right(Left(& #91;Homephone],9),3)
& Right([HomePhone],4),[HomePho
ne]))
>
CASE WHEN HomePhone IS NULL
THEN '0000000000'
WHEN substring(HomePhone,
1, 1) = '('
THEN substring(HomePhone,
2, 3) + substring(HomePhone,
6, 3) +
substring(HomePhone,
10, 4)
ELSE HomePhone
END
I don't know exactly what the Left and Right functions do, so I had
to make a guess for substring.
A better approact is probably
replace(replace(repl
ace(HomePhone, '(', ''), ')', ''), '-', '')
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pr...oads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodin...ions/books.mspx
Post Follow-up to this messageThanks Er. That was exactly what I was looking for. Both of them work beautifully.
Post Follow-up to this message
Show a Printable Version
Email This Page to Someone!
Receive updates to this thread