电话号码字符串SQL中的前缀0

时间:2017-03-09 06:28:55

标签: sql sql-server

我在sql表中有一个电话号码,我想添加前缀' 0'电话号码是10位数的地方, 但如果小于10或大于10位,则不需要0前缀。

7863176061
7724269820
2088076157
1992762084
1318912

输出

07863176061
07724269820
02088076157
01992762084
1318912

4 个答案:

答案 0 :(得分:1)

试试这个:

 select 
   case when len(yourcolumn) =10 
   then '0'+ yourcolumn 
   else yourcolumn end as column 
 from yourtable

答案 1 :(得分:1)

试试这个

SELECT CASE LEN(Num) WHEN  10 THEN '0'+cast(Num as varchar(11)) ELSE Num END AS Num

答案 2 :(得分:0)

使用CASE表达式检查长度。

<强>查询

select 
  case when len([phone_number]) = 10 
  then '0' + cast([phone_number] as varchar(20)) 
  else cast([phone_number] as varchar(20)) end
from [your_table_name];

<强> Find demo here

如果列数据类型为bigint,则必须将电话号码列强制转换为varchar。否则,您可以在上述查询中排除强制转换部分。

答案 3 :(得分:0)

我认为这会很快,

select 

   '0' + cast([phone_number] as varchar(20)) 

from [your_table_name]
where len([phone_number]) = 10 ;