String SQLite查询以删除一些文本
我想找到所有看起来像String SQLite查询以删除一些文本,string,sqlite,String,Sqlite,我想找到所有看起来像 转到CHK 9071确认#1904952784 (不考虑编号)并剥去“确认”部分;因此,上述情况将变得更加严重 转到CHK 9071 我尝试了此操作,但出现语法错误: update zuserpaye set ZNAME=left(ZNAME,length(ZNAME)-24),其中ZNAME类似于“%Confirmation”\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu尝试使用
转到CHK 9071确认#1904952784
(不考虑编号)并剥去“确认”部分;因此,上述情况将变得更加严重
转到CHK 9071
我尝试了此操作,但出现语法错误:
update zuserpaye set ZNAME=left(ZNAME,length(ZNAME)-24),其中ZNAME类似于“%Confirmation”\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu代码>尝试使用单引号而不是双引号,这应该更可靠一些,因为它不要求确认号为固定长度。还有类似的单引号
update ZUSERPAYEE
set ZNAME = INSTR(ZNAME, 'Confirmation#') - 1)
where ZNAME like '%Confirmation# %'
我建议您签出SUBSTRING\u INDEX
函数。(我知道这在MySQL中可用,但不确定SqlLite3是否可用)
e、 g
(本例假设在确认之前始终存在空格,您也希望删除该空格。)
如果只想从“确认”开始修剪,请忽略空格字符:
SUBSTRING_INDEX('Transfer to CHK 9071 Confirmation# 1904952784','Confirmation#',1)
对于给定的示例,这将留下一个尾随空格。可以通过将该表达式包装到
TRIM(TRAILING ' ' FROM expr)
它对我有用。(MySQL 5.6.16)结果:“转移到CHK 9071”,最后为空。我尝试了,但得到Error:near”():语法错误
…可能是因为我在OSX上的命令行中使用了sqlite3
…可能它不支持MySQL的完整功能集…我更新了语句。我将第二个参数保留为charindex。将charindex更改为LOCATE。相同的格式,但charindex是用于SQL Server的。您的数据库标记不是说MySQL earlier?我将为SQLlite从一个位置到另一个位置再更新一次。我不是一个大的SQLlite人。是的,我的错!我应该使用SQLite,抱歉。很好,但是错误:没有这样的函数:SUBSTRING\u INDEX
:-(
TRIM(TRAILING ' ' FROM expr)