免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2340 | 回复: 8

请教高手一个关于reverse的奇怪的问题,难道这是mysql的bug [复制链接]

论坛徽章:
0
发表于 2008-05-28 10:19 |显示全部楼层
select    substring(substring_index(reverse('abc/bcd/2'),'/',2),3)

结果为dcb,没有问题,前面加上reverse,我们希望结果是bcd,但是结果却不对,

select    reverse(substring(substring_index(reverse('abc/bcd/2'),'/',2),3))

的运行结果是b,不是bcd.

难道这是Mysql的bug?

论坛徽章:
0
发表于 2008-05-28 10:40 |显示全部楼层
select    reverse(substring(substring_index(reverse('abc/bcd/2'),'/',2),3))

论坛徽章:
0
发表于 2008-05-28 12:49 |显示全部楼层

回复 #2 yueliangdao0608 的帖子

请问您是什么意思?

论坛徽章:
0
发表于 2008-05-28 12:53 |显示全部楼层
原帖由 yuonunix 于 2008-5-28 12:49 发表
请问您是什么意思?


I gave a correct answer to you,ok?

论坛徽章:
0
发表于 2008-05-28 13:10 |显示全部楼层

回复 #4 yueliangdao0608 的帖子

没有啊,我拷贝了你的,然后运行,结果还不是bcd,

我的Mysql的版本是mysql-5.0.22-win32,你的语句和我的语句也没有任何区别啊,难道在你的版本中试过OK吗?

论坛徽章:
0
发表于 2008-05-28 13:21 |显示全部楼层
原帖由 yuonunix 于 2008-5-28 13:10 发表
没有啊,我拷贝了你的,然后运行,结果还不是bcd,

我的Mysql的版本是mysql-5.0.22-win32,你的语句和我的语句也没有任何区别啊,难道在你的版本中试过OK吗?





我的

mysql> select    reverse(substring(substring_index(reverse('abc/bcd/2'),'/',2),3));
+-------------------------------------------------------------------+
| reverse(substring(substring_index(reverse('abc/bcd/2'),'/',2),3)) |
+-------------------------------------------------------------------+
| bcd                                                               |
+-------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select version();
+------------+
| version()  |
+------------+
| 5.0.45-log |
+------------+
1 row in set (0.00 sec)

论坛徽章:
0
发表于 2008-05-28 13:59 |显示全部楼层
非常感谢,那可能是我这个mysql版本的bug,我的机器上的显示如下所示:
mysql> select    substring(substring_index(reverse('abc/bcd/2'),'/',2),3);
+----------------------------------------------------------+
| substring(substring_index(reverse('abc/bcd/2'),'/',2),3) |
+----------------------------------------------------------+
| dcb                                                      |
+----------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select    reverse(substring(substring_index(reverse('abc/bcd/2'),'/',2),3
))
    -> ;
+-------------------------------------------------------------------+
| reverse(substring(substring_index(reverse('abc/bcd/2'),'/',2),3)) |
+-------------------------------------------------------------------+
| b d                                                               |
+-------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select version();
+------------------+
| version()        |
+------------------+
| 5.0.22-community |
+------------------+
1 row in set (0.00 sec)

mysql>

论坛徽章:
0
发表于 2008-05-28 15:24 |显示全部楼层
mark35 该用户已被删除
发表于 2008-05-29 15:49 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP