我有一个带有一些数据的mysql表。因为我有一列(mobile_number),而该列的值就像手机号码(例如:1234587920)。
我预期的结果是:12-34-58-79-20
我想在每两个数字后添加连字符。
答案 0 :(得分:1)
使用concat()连接字符串,并使用substr()在mysql中分割字符串:
从开始位置分割(列,开始,计数)选择列,用于计数字符
concat(column1,“-”,column2)将为column1-column2
InheritedWidget
答案 1 :(得分:0)
这将起作用:
SELECT concat(SUBSTRING("1234587920", 1, 2),"-",SUBSTRING("1234587920",3,2),"-
",SUBSTRING("1234587920", 5, 2),"-",
SUBSTRING("1234587920", 7, 2),"-",
SUBSTRING("1234587920", 9, 2)) AS ExtractString;
对于您的表查询就像:
SELECT concat(SUBSTRING(mobile_number, 1, 2),"-
",SUBSTRING(mobile_number,3,2),"-",SUBSTRING(mobile_number, 5, 2),"-",
SUBSTRING(mobile_number, 7, 2),"-",
SUBSTRING(mobile_number, 9, 2)) ExtractString from tablename;
答案 2 :(得分:0)
我一定会使用concat_ws()
:
select concat_ws('-',
substr(mobile_number, 1, 2),
substr(mobile_number, 3, 2),
substr(mobile_number, 5, 2),
substr(mobile_number, 7, 2)
)
Here是db <>小提琴。
答案 3 :(得分:-1)
您可以尝试
select concat( right(phone_number,3) , "-" , mid(phone_number,4,3) , "-", right(phone_number,4)) from table