By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
438,413 Members | 1,594 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 438,413 IT Pros & Developers. It's quick & easy.

Stripping input mask from phone numbers

P: n/a
Hello, 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:

& Right(Left([Homephone],9),3) & Right([HomePhone],4),[HomePhone]))

Thanks for all your help.


Mar 28 '06 #1
Share this Question
Share on Google+
2 Replies

P: n/a
(IL***@NETZERO.NET) writes:
[Homephone],4),3) & Right(Left([Homephone],9),3) & Right([HomePhone],4),[HomePhone]))

THEN '0000000000'
WHEN substring(HomePhone, 1, 1) = '('
THEN substring(HomePhone, 2, 3) + substring(HomePhone, 6, 3) +
substring(HomePhone, 10, 4)
ELSE HomePhone

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(replace(HomePhone, '(', ''), ')', ''), '-', '')

Erland Sommarskog, SQL Server MVP, es****

Books Online for SQL Server 2005 at
Books Online for SQL Server 2000 at
Mar 28 '06 #2

P: n/a
Thanks Er. That was exactly what I was looking for. Both of them work

Mar 28 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.