目标
转换99999999
成99999-999
.
问题
我不知道语法。
我已经想到的
我正在考虑使用FORMAT()
函数 - 但我正在使用INT而不是DECIMAL。
我的查询
Select city.ZipCode As zipCode
From app_cities As city
Where city.Id = 1
就是这样了。有人对我有任何想法吗?
使用INSERT()
select insert(ZipCode , 6, 0, '-') As zipCode
from app_cities As city
where Id = 1
邮政编码的问题是可以有一个前导 0。所以邮政编码的长度可以是 7 位或 8 位。
因此,邮政编码可能是 02323-213 或 12133-333。作为 int,您将丢失第一个数字。
采用 Jurgen D 已经发布的内容并对其进行修改。
SELECT insert(LPAD(zipcode, 8, '0'), 6, 0, '-') from zipcodes;
select concat(substring(cast(999999999 as char),5),'-',
(substring(cast(999999999 as char),6,4)));
从表:
select concat(substring(cast(ZipCode as char),5),'-',
(substring(cast(ZipCode as char),6,4)));