使用sqlite3的,我有一个简单的表是这样的:如何删除列中的非字母数字字符?
ArtistID Name
---------------------------------
0 andres segovia
1 andres|segovia|
2 ?andres-segovia
3 andres segovia and john
4 anya marina
5 aphex twin
6 aphex-twin
会是什么一个选择的样子才能看到这样的结果:
ArtistID Name
---------------------------------
0 andressegovia
1 andressegovia
2 andressegovia
3 andressegoviaandjohn
4 anyamarina
5 aphextwin
6 aphextwin
我一直在使用正则表达式尝试通过在我的〜/ .sqliterc文件中加入“.load /usr/lib/sqlite3/pcre.so”这一行,但在查询中使用REGEXP会返回以“Error:no string”结尾的奇怪结果,因此可能有更清晰的方法?
为别人跑了进去,当你比较对数据的“无弦”的错误发生。您可以在执行'REGEXP'操作之前通过执行'IS NOT NULL'比较来使用此模块解决此问题。一个适当的解决方案可能是补丁pcre.so将空数据视为空字符串。 – 2012-07-10 15:28:03