当前位置: 代码迷 >> Sql Server >> 发现reverse 有关问题
  详细解决方案

发现reverse 有关问题

热度:17   发布时间:2016-04-27 20:03:34.0
发现reverse 问题
drop   table   #
create   table   #(Name   char(10),   Subject   char(15),     Result   int)
insert   #     select   '张三 ', '语文 ',   80  
union   all   select   '张三 ', '数学 ',90
union   all   select '张三 ', '     物理 ',   85
union   all   select '李四 ', '语文 ',   85
union   all   select '李四 ', '数学 ',   92
union   all   select '李四 ', '物理 ',   82
select   *,(ltrim((subject)))   from   #----------------变化的地方
select   *,reverse(ltrim((subject)))   from     #
结果1------------------
张三             语文                       80 语文                      
张三             数学                       90 数学                      
张三                 物理                   85 物理                  
李四             语文                       85 语文                      
李四             数学                       92 数学                      
李四             物理                       82 物理                      
结果2--------------------
张三             语文                       80                       文语(前面为空格)
张三             数学                       90                       学数
张三                 物理                   85                   理物
李四             语文                       85                       文语
李四             数学                       92                       学数
李四             物理                       82                       理物
----------------------------------
差别就是   第三行纪录   他物理后面的空格为什么没有去掉呢???

------解决方案--------------------
SQL没错,以“0”表示空格,分析如下:

1.数学00000000000
00物理000000000 //原来的样子:因为char(15),所以后面自动补空格,填满15字节为止;
  相关解决方案