长话短说,随着时间的推移,大量虚假数据进入了SQLite数据库,其中在varchar列中的空字符之前有有效数据,然后是虚假数据。
validData\u0000bogusData
我需要清理数据集,使数据后的空字符(和空字符)消失。不幸的是,数据不适合一个模式,所以唯一的办法是寻找空字符。
我一直在尝试查询坏数据以便清理它。
我尝试过的SQL:
SELECT id FROM table WHERE field LIKE "%" || CHAR(0) || "%"
结果:返回表中的所有行。我只需要包含空字符的行。
String sql = "SELECT id FROM table WHERE field LIKE \"%\u0000%\"";
结果:SQLite在遇到空字符时停止处理SQL字符串\u0000,错误:LIKE“%”附近的SQL语法错误
任何帮助都很感激,我所能找到的只是关于获取空值行的信息。
1条答案
按热度按时间0h4hbjxa1#
使用
INSTR()
获取包含CHAR(0)
的行:如果你愿意的话,你可以更新表格来删除虚假的数据: