如何在SQLite中用通配符替换?

时间:2014-01-02 20:50:38

标签: sqlite replace wildcard

我正在尝试替换SQLite数据库中的一堆字符串。

我想从头开始删除CHECKCARD \d\d\d\d(正则表达式)。

SQLite的replace是否具有此功能?

即, CHECKCARD 1215 AA BB CC应该成为AA BB CC

CHECKCARD 0715 DD EE应该成为DD EE

我试过

update ZUSERPAYEE set ZNAME = replace (ZNAME,"CHECKCARD ____ ","");

但这没效果。

我需要它是一个单行命令...所以我可以从Mac上的终端运行。

1 个答案:

答案 0 :(得分:1)

SQLite substr()函数应该是你的救星:

UPDATE ZUSERPAYEE
SET ZNAME = substr(ZNAME, 16)
WHERE ZNAME LIKE "CHECKCARD %"

这将找到ZNAME以CHECKCARD开头的任何行,并将ZNAME的值替换为第16个字符(即CHECKCARD ####之后)到最后的子字符串。

More on SQLite core functions, including a surprisingly featureful set of string handling functions.