美文网首页
sql varchar替换空格及特殊字符

sql varchar替换空格及特殊字符

作者: wwmin_ | 来源:发表于2021-04-20 14:41 被阅读0次

    有时数据库在存储数字的时候用的时varchar类型, 在查询的时候需要把varchar转换成floatint等, 就需要使用cast([字段] as float)cast([字段] as int), 在数据不是很好的情况下会遇到特殊字符,使转换无法进行. 此时就需要将特殊字符去除.

    一. 空格的替换

    • 注意: 要确保字段的类型,不是charnchar等固定的类型,否则无法去掉空格
    --去掉 T_Table 表中Name字段值的两边空格.
    update T_Table  set Name = RTRIM(LTRIM(Name))
    

    二. 特殊字符(控制字符)的替换

    控制字符 --标识
    制表符 CHAR(9) -- '\t'
    换行符 CHAR(10) --'\n'
    回车 CHAR(13) -- '\r'
    --若是空格,可直接 ' ',即在中间直接按空格键.
    --去掉制表符 --> '\t':
    update T_Table set Name = REPLACE(Name,CHAR(9),'')
    --替换文本:
    --这个函数有一点不足是不支持 text,ntext类型字段的替换,可以通过下面的语句来实现: 
    update T_Table set name = replace(cast(Name as varchar(8000)) ,'abc','ddd')
    --替换回车/换行:
    update T_Table set name = REPLACE(name,CHAR(13) + CHAR(10),'')
    
    --注 在 dos \win 系列会出现 回车+换行符 CHAR(13)+CHAR(10)
    --在 unix \ linux 是换行符
    --转换只要把回车符char(13) 去掉就行了
    

    相关文章

      网友评论

          本文标题:sql varchar替换空格及特殊字符

          本文链接:https://www.haomeiwen.com/subject/uflnlltx.html