SQL Server空格处理
来源:互联网 发布:手机照片移花接木软件 编辑:程序博客网 时间:2024/05/17 23:25
SQL Server 的 ltrim 和 rtrim 函数只会取消 char(32) 的字符, char(9) 之类的字符则不会剔除。今天在处理论坛的一个bug时,发现数据多了空格,就是char(9)在作怪。
一个演示SQL代码:
declare @s nvarchar(50)select @s = char(32)+char(9)+'*'print('%'+@s+'%')select @s = ltrim(rtrim(@s))print('%'+@s+'%')print (str(len(@s)))
而 C# 中则没有类似问题,它剔除了很多非 char(32) 的空格。
演示代码:
static void Main(string[] args){ string s = string.Format("{0}{1}*", (char)32, (char)9); Console.WriteLine("%" + s + "%"); Console.WriteLine(s.Length); s = s.Trim(); Console.WriteLine("%" + s + "%"); Console.WriteLine(s.Length); Console.ReadLine();}
MSDN上一些空格的资料:
下表列出了被 Trim 方法移除的空白字符。第一列列出了字符的 Unicode 名称,第二列列出了标识该字符的 Unicode 码位的十六进制表示法。
(请注意,尽管传递特定字符时静态 Char.IsWhiteSpace(Char) 方法返回了 true,但该字符不一定被 Trim 方法移除。(作者注:MSDN上这句话很让我困惑,下面2个表中,Char.IsWhiteSpace中的空格都出现在Trim 中的空格了呀?))
会被 Char.IsWhiteSpace( 认为是空白字符的包括以下Unicode 字符:
- SpaceSeparator 类别的成员,该类别包括 SPACE 字符 (U+0020)。
- LineSeparator 类别的成员,该类别只包括 LINE SEPARATOR 字符 (U+2028)。
- ParagraphSeparator 类别的成员,该类别只包括 PARAGRAPH SEPARATOR 字符 (U+2029)。
- 字符 CHARACTER TABULATION (U+0009)、LINE FEED (U+000A)、LINE TABULATION (U+000B)、FORM FEED (U+000C)、CARRIAGE RETURN (U+000D)、NEXT LINE (U+0085) 和 NO-BREAK SPACE (U+0000A0)。
- SQL Server空格处理
- sql server 去空格函数
- Sql Server去除所有空格
- SQL SERVER字符串中的空格去除
- sql server去空格要注意
- sql Server 的char类型去除空格
- Sql Server 并发处理
- SQL Server 死锁处理
- SQL Server异常处理
- sql server例子处理
- sql server 日期处理
- SQL Server 中文处理 .
- SQL Server 游标处理
- SQL SERVER字符串处理
- SQL SERVER 数据库储存的值里面前后有空格,有可能是全角或者半角空格,如何在查询中处理
- SQL SERVER------SQL 语句处理
- Sql server行转列处理Sample
- MS sql server 常见问题处理
- AutoCAD双击反应器练习
- WCF RIA 服务 (二十四)-- Silverlight 客户端 5
- SQL Server 中查询非中文,非英文,非数字的特殊列
- protected,internal和protected internal
- An Inline Function is As Fast As a Macro -- Using GCC
- SQL Server空格处理
- IT蚁族:蜗居和逃离
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- 增加用户的sudo权限
- [转]httprecon:运行时错误 62 输入超出文件尾
- 当前时间与GMT时间转换
- 新浪网:《密战》引爆企业桌面安全管理系统市场
- Lua语言中pairs和ipairs的区别
- [转]常用字符集编码详解