请教一个截取字符串的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?
...全文
157 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
PleaseDoTellMeWhy 2007-09-07
  • 打赏
  • 举报
回复
谢谢了,哥们, 你提醒我了!

以前看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开始的 。

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧