“阳光 沙滩 晚风 夕阳 呵呵呵炒股不是全部 好想去海边吹吹风…<br/><a href=" http://From3ebd325c7bf6cb35dced7c5f06f4/HQ/HQ.DLL?t=stock;StkCode=300053;X=Rand3ebd325c7”是数据表里面一个字段的内容,
我要用sql语句去掉<br/>(连同<br/>在内)后面的内容要怎么写SQL更新语句?

解决方案 »

  1.   

    mysql不支持正则替换。你只有利用正则
    select 要替换的字段 from tablename 要替换的字段 REGEXP  '\<br\/\>.*$'//语句对不对没测试过的。来查询出符合条件的记录。
    然后循环的在程序里来将要替换的字段的内容替换掉,再更新数据
      

  2.   

    sql查询出来用php替换吧
    sql语句的话可能要用存储过程
      

  3.   

    仔细查了文档,找到如下方式,不过效率怎么样就不知道了字段名=REPLACE(字段名,SUBSTRING(字段名,INSTR(字段名,'<br/>'),'')
      

  4.   

    update tablename set 字段名=REPLACE(字段名,SUBSTRING(字段名,INSTR(字段名,'<br/>')),'') where 字段名 REGEXP '\<br\/\>.*$'
    语句就是这样吧,前面的少了个括号,REGEXP '\<br\/\>.*$'的正则写对没有就不知道了,有问题都是正则的问题了,没测试的
      

  5.   

    REPLACE 这样只能替换 掉<br/>,但是, <br/>后面的还是存在。
    建议写个存储过程,先查出这个字段。然后用 POSITION 找到<br/>的位置,截取一下,再update回去。可能是个本办法 呵呵。。
    或者像2楼说的 再Php里处理更好。
      

  6.   

    mysql 可以正则查找,不可以替换吧??
      

  7.   

    update 表 set 字段名 = left(字段名, LOCATE('<br/>', 字段名)-1) where 字段名 like '%<br/>%'
      

  8.   

    充分利用mysql自带的函数,还是可以实现这个功能的update tablename set `字段名`=REPLACE(`字段名`,SUBSTRING(`字段名`,INSTR(`字段名`,'<br/>')),'') where `字段名` REGEXP '\<br\/\>.*$'