替换第一个电话号码mysql

时间:2016-11-24 00:27:33

标签: mysql

我有一个数据库表users,其中有一个名为mobile的列。所有手机号码均以0开头,例如:0455000000

我想仅替换第一个始终为061

的数字

这会将手机号码从0455000000变为61455000000

我猜测使用trim语句可能有效,但不确定如何实现它。

4 个答案:

答案 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));
相关问题