MYSQL 数据库,phpmyadmin管理系统
请教一:
现在一张表 tablea下,有一个字段filename的字段中,有部分记录该字段值是以“-”(无引号) 开头的,我想将以“-”开头的记录中,开头的“-”符号给去除。用什么命令?  注:在字段记录中,中间部分也是有“-”符号的,不需要去除请教二:
同样在 表 tablea中,字段 title,目前是除字母(a-z)、数字(0-9)、“-”外还有其他符号,如空格,&等符号,我想把这个字段值给过滤下,将所有非 字母、数字、“-”以外的其他所有符号全部改成“-”,请问用什么命令?先谢谢各位了

解决方案 »

  1.   

    1:mysql> update tablea set filename=right(filename,length(filename)-1) where left(filename,1)='-';
      

  2.   

    1:mysql> update tablea set filename=right(filename,length(filename)-1) where left(filename,1)='-';
      

  3.   

    请教一:
    现在一张表 tablea下,有一个字段filename的字段中,有部分记录该字段值是以“-”(无引号) 开头的,我想将以“-”开头的记录中,开头的“-”符号给去除。用什么命令?  注:在字段记录中,中间部分也是有“-”符号的,不需要去除

    update tablea set filename=mid(filename,2) where filename like '-%';
      

  4.   

    请教二:
    同样在 表 tablea中,字段 title,目前是除字母(a-z)、数字(0-9)、“-”外还有其他符号,如空格,&等符号,我想把这个字段值给过滤下,将所有非 字母、数字、“-”以外的其他所有符号全部改成“-”,请问用什么命令?
    这个没有办法直接用SQL语句来实现,你需要自己写一个存储函数,来把其他符号转换为“-”, MYSQL中的正则表达式只能用于查询无法进行正则替换。
      

  5.   

    1
     update tablea set filename=right(filename,length(filename)-1) where left(filename,1)='-'
    2
    将所有不需要的符号存入表中,再与工作表连接,用REPLACE去掉