我有一个数据库表users
,其中有一个名为mobile
的列。所有手机号码均以0
开头,例如:0455000000
我想仅替换第一个始终为0
且61
这会将手机号码从0455000000
变为61455000000
我猜测使用trim语句可能有效,但不确定如何实现它。
答案 0 :(得分:4)
MySQL有一个名为insert()
的便捷功能。这允许您按位置替换子字符串。
所以:
select insert(phone, 1, 1, '') -- gets rid of the first digit
select insert(phone, 1, 1, 'Mobile #') -- replaces the first digit with a different prefix
答案 1 :(得分:2)
使用substring
从您的手机中移除第一个字符,然后concat
在您要替换它的开头的值:
UPDATE users
SET mobile = concat('61', substring(mobile, 2))
这符合ANSI-SQL。
答案 2 :(得分:0)
如果要删除前面的0,前面加上61 ...并将其插入dB,请执行以下操作:
var leitura_bd = firebase.database().ref('animais/Gato');
leitura_bd.orderByKey().limitToLast(100).on("child_added", function(snapshot) {
var animal = snapshot.key;
var consulta_imagem = firebase.database().ref("animais/Gato/"+animal+"/_img/");
consulta_imagem.once('value').then(function(snapshot) {
let $parent = $('<div/>', {
'class': 'div1'
});
let $limites = $('<div/>', {
'class': 'borda'
});
let $imagem = $('<img/>', {
'src': snapshot.val(),
'class': 'animal',
});
$barra_like = $('<div/>', {
'class': 'barra'
});
let $icone_like = $('<img/>', {
'src': 'css/like.png',
'class': 'icon_like',
'id': animal,
'onclick':'seleciona_animal(this.id)',
'data-toggle':'modal',
'data-target':'#myModal'
});
$barra_like.append($icone_like);
$limites.append($barra_like);
$limites.append($imagem);
$parent.append($limites).appendTo(".aqui");
});
});
基本上它使用SUBSTR http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substr
答案 3 :(得分:0)
这样怎么样:
set @phone = '0455000000';
select CONCAT_WS("",'61',SUBSTR(@phone FROM 2));