none
sqlite 怎么使用replace函数替换某列中开头的字符串部分 RRS feed

  • Question

  • 某列有这样的数据 ,我要替换字符串开头部分为abcd的,将abcd替换成其他的字符串

    abcdsadsadsa

    abcdsdfgdfg

    asdsaabcd

    我使用的update 表名 set 列名 = replace(列名,'abcd%,'ssss')

    可是我执行该语句后。发现没用,开头为abcd的没有被替换掉。求解决办法。难道真的要在每一个字符串的开头弄一个特殊符号来指代开头吗?。除了这个有没有其他办法?





    mardi 29 novembre 2016 11:49

Réponses

  • 可以写

    UPDATE ZUSERPAYEE
    SET ZNAME ='ssss' ||  substr(ZNAME, 4)
    WHERE ZNAME LIKE "abcd%"

    当字符串以abcd开头时,截取字符串abcd之后的部分,再在前面加上要替换的字符串ssss

    来自 http://stackoverflow.com/questions/20891616/how-to-do-replace-with-wildcards-in-sqlite

    http://stackoverflow.com/questions/34999816/replace-parts-of-string-in-sqlite3

    (我的写法可能有问题,请确认以下两项,一是substr的索引是否以0开始,二是sqllite的字符串相加用||)


    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    mardi 29 novembre 2016 12:55