我这里有一个独特的情况。我有一个串联字段,我呼叫地址,作为此地址的一部分,我在最后一行有该地址的电话号码。目前电话号码的格式如下:
8885551212
我希望它的格式如下:
(888) 555-1212
下面是我插入到我的临时表中,我这样做是为了正确处理所有内容。有关如何使手机部分正常工作的任何指导都是一个很大的帮助。我确实找到了一篇关于使用函数的文章,但我不确定如何根据我的情况正确编写它。谢谢。
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
您可以使用 SUBSTRING 函数:
改变
+ p.phone
自
+ '(' + SUBSTRING(p.phone,1,3) + ') '
+ SUBSTRING(p.phone,4,3) + '-'
+ SUBSTRING(p.phone,7,4)
使用Stuff
字符串函数将所需的特殊插入字符串中。试试这个。
SELECT '('+ Stuff(Stuff('8885551212', 4, 0, ') '), 9, 0, '-')
试试这个
SELECT '(' + SUBSTRING('8885551212',1,3) + ') ' + SUBSTRING('8885551212',4,3) + '-' + SUBSTRING('8885551212',7,4)
输出将是 :- (888) 555-1212