请教一个截取字符串的SQL语句,为什么我的总是返回0?

PleaseDoTellMeWhy 2007-09-07 04:08:23
我想实现如果表中一个字段的字符串长度大于某个数,就取这个数之前的字符,否则就全部取得!

我写的SQL语句: SELECT ( IF( CHAR_LENGTH(fieldname) > 50, SUBSTRING(fieldname FROM 0 FOR 50), fieldname ) ) FROM tablename;

但是为什么他总是返回0?
...全文
92 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
谢谢了,哥们, 你提醒我了!

以前看MySQL手册时候注意过, 时间长不看了, 用起来居然忘记了, 刚又看了看手册, 12.3章节的第四行明明写着就是没注意, 再次感谢!
回复
懒得去死 2007-09-07
SELECT ( IF( CHAR_LENGTH(fieldname) > 50, SUBSTRING(fieldname FROM 0 FOR 50), fieldname ) ) FROM tablename;

===》
SELECT ( IF( CHAR_LENGTH(fieldname) > 50, SUBSTRING(fieldname FROM 1 FOR 50), fieldname ) ) FROM tablename;

MYSQL字符串的位置都是从1开始的 。
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告