我在sql表中有一个电话号码,我想添加前缀' 0'电话号码是10位数的地方, 但如果小于10或大于10位,则不需要0前缀。
7863176061
7724269820
2088076157
1992762084
1318912
输出
07863176061
07724269820
02088076157
01992762084
1318912
答案 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 ;