我有一个独特的情况。我有一个连接的字段,我称之为地址,作为该地址的一部分,我在最后一行有该地址的电话号码。目前,电话号码的格式如下:
8885551212
我希望它的格式如下:
(888) 555-1212
下面是我对临时表的INSERT,我为了让一切正确而做。有关如何使电话部分正常工作的任何指导都是一个很好的帮助。我确实找到了一篇关于使用函数的文章,但我不确定如何根据我的情况正确编写它。谢谢。
INSERT into #Referral_Temp (status, physician, timeFrame, date, address)
select o.actStatus, o.actTextDisplay, apptTimeframe, apptDate,
(select (p.address_line_1 + CHAR(13)+CHAR(10) + p.address_line_2 + CHAR(13)+CHAR(10)
+ p.city + ', ' + p.state + ' ' + p.zip + CHAR(13)+CHAR(10) + p.phone)
AS address)
from order_ o
join provider_mstr p on o.refer_to_prov_id = p.provider_id
where o.encounterID = @enc_id
答案 0 :(得分:1)
使用 Stuff
字符串函数将所需的特殊字符串插入字符串中。试试这个。
SELECT '('+ Stuff(Stuff('8885551212', 4, 0, ') '), 9, 0, '-')
答案 1 :(得分:1)
您可以使用SUBSTRING功能:
更改
+ p.phone
到
+ '(' + SUBSTRING(p.phone,1,3) + ') '
+ SUBSTRING(p.phone,4,3) + '-'
+ SUBSTRING(p.phone,7,4)
答案 2 :(得分:0)
试试这个
SELECT '(' + SUBSTRING('8885551212',1,3) + ') ' + SUBSTRING('8885551212',4,3) + '-' + SUBSTRING('8885551212',7,4)
输出将是: - (888)555-1212