以下查询从我的数据库返回以下示例数据。如果不存在零,则返回零值
select mobileno
from Person
抽查结果:
775623655
0758956556
0756899955
777325656
我怎样才能添加在前面的0,如果没有在返回的值是0?
以下查询从我的数据库返回以下示例数据。如果不存在零,则返回零值
select mobileno
from Person
抽查结果:
775623655
0758956556
0756899955
777325656
我怎样才能添加在前面的0,如果没有在返回的值是0?
SELECT CASE LEFT(mobileno,1)
WHEN '0' THEN mobileno
ELSE '0' + isNull(mobileno,'')
end as mobileno
FROM Person
使用REPLICATE
:
SELECT
RIGHT(REPLICATE('0', 10) + CAST(mobileno AS VARCHAR(10)), 10) AS mobileno
FROM person;
看到它在这里的行动:
select right('0000000000' + mobileno, 10) mobileno from Person
+1因为这是我的首选方式;-) –
该问题未指定该列为10个字符。如果由于国家/地区代码而导致数字超过10,该怎么办? – Avitus
哎检查下面的查询。你可以做这样的事情:
declare @table table (temp VARCHAR(MAX))
insert into @table values('775623655')
insert into @table values('0758956556')
insert into @table values('0756899955')
insert into @table values('777325656')
SELECT RIGHT('000000000' + temp , 10)
FROM @table
这应该是相当简单的事情,你尝试什么吗? – LittleBobbyTables
@LittleBobbyTables你想让我展示我试过的东西吗? – Joshua