我正在尝试替换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上的终端运行。
答案 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.