如何删除列中的非字母数字字符?

时间:2012-04-11 09:44:51

标签: sql sqlite

使用 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   

我尝试使用正则表达式功能,将“.load /usr/lib/sqlite3/pcre.so”行包含到我的〜/ .sqliterc文件中,但在查询中使用REGEXP会返回奇怪的结果,结果为“错误:没有字符串“所以也许有一个更清晰的方式?

1 个答案:

答案 0 :(得分:2)

你可以试试这样的事情

SELECT DISTINCT 
  replace(replace(replace(replace(name, 
    ' ', ''),
    '|', ''),
    '?', ''),
    '-', '') FROM your_table