有时数据库在存储数字的时候用的时varchar
类型, 在查询的时候需要把varchar
转换成float
或int
等, 就需要使用cast([字段] as float)
或cast([字段] as int)
, 在数据不是很好的情况下会遇到特殊字符,使转换无法进行. 此时就需要将特殊字符去除.
一. 空格的替换
- 注意: 要确保字段的类型,不是
char
或nchar
等固定的类型,否则无法去掉空格
--去掉 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) 去掉就行了
网友评论