id      name         age   sex
1       张三x
2       李四x
3       王五x
4       赵六x
5       刘七x
6       古义x
7       洋洋x
8       百科x
.
.

这样一张表,怎么把name后面的x去掉,用sql语句可以实现吗?

解决方案 »

  1.   

    update tb set name=replace(name,'x','') where charindex('x',name)>0
      

  2.   

    update tb set name=replace(name,'x','')
      

  3.   

    还可以update tb set name=left(a.name,charindex('x',a.name)-1) from tb a where id=a.id
      

  4.   


    --1)语句DECLARE @str varchar(30)
    SET @str = N'中国x'SELECT SUBSTRING(@str,1,PATINDEX('%x%',@str)-1)
    SELECT REPLACE(@str,'x','')
    SELECT STUFF(@str,CHARINDEX('x',@str),LEN('x'),'')
    SELECT LEFT(@str,CHARINDEX('x',@str) -1 )--2)结果
    ------------------------------
    中国(1 row(s) affected)
      

  5.   

    谢谢,以前都不会,原来sql也可以用替换。。