首页 > 开发 > 综合 > 正文

如何在把超过固定长度的文字以……表示

2024-07-21 02:10:37
字体:
来源:转载
供稿:网友
有次,有个以前的同事(是个小mm)问我一个问题:她想在一个网页中显示一个文章标题的列表,但是考虑到有的标题太长,影响美观,就想参照别的网站上的样式,把超过固定长度的文字用省略号代替,但是自己又不知道如何实现,所以想到我(唉,需要我的时候才会想到我,呜……)

拿到题目后,我决定从数据库来着手,写查询语句来实现,结果如下:

说明语句:

select (left(原字段,位数)+'...') as 新字段
from 表名 where datalength(原字段)>位数
union all
select 原字段 as 新字段 from 表名 where datalength(原字段)<=位数

后来考虑到access中不支持datalength()函数,所以改为len(),不过这样的话,中文字也算作一位,而不是原来的两位。


最后写成:
select top 5 * from(
select id,(left([description],25)+'...') as descriptionx,kind,datetime, description, author, hit from [xjx] where len(description)>25
union all
select id,description as descriptionx,kind,datetime, description, author, hit from [xjx] where len(description)<=25) temptable where kind='活动简报' o

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表