首页 新闻 会员 周边

数据库读取截取数据的问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-08-09 14:00

数据库表中的数据有一个字段数据量很大,读取显示在页面上,想让显示一定的字数,如20个字后+加省略号的方式

SELECT AbContent1 = CASE WHEN LEN(AbContent ) > 15 THEN LEFT(AbContent , 14) + '...'

ELSE AbContent

END,

AbContent

FROM Abstract

这段代码不起作用呢,谢谢

wode301的主页 wode301 | 初学一级 | 园豆:5
提问于:2013-08-09 13:00
< >
分享
最佳答案
0

这句sql本身,应该是没有什么问题的。

问题在于你存储与数据库的是富文本(带有样式),那么你截取的20个,就不一定是显示的文字了。

提供思路:1、通过样式表在界面上隐藏多余的字符;

2、将数据读取到程序中,去掉html标记之后,再进行截取;

3、既然你有这样的截取需求,那么你的输入应该是新闻标题一类的数据,那么用富文本编辑器是否有必要?

收获园豆:4
幻天芒 | 高人七级 |园豆:37175 | 2013-08-09 13:15

恩,试试读取出来再截取。要求要有样式控制的

wode301 | 园豆:5 (初学一级) | 2013-08-09 13:27

@wode301: 当样式,就不要截取了,直接用css隐藏吧,要不然我觉得很难控制样式不被截断..

.

幻天芒 | 园豆:37175 (高人七级) | 2013-08-09 14:16

@幻天芒: 哦,那读取出来,直接用css隐藏就可以实现那个效果吗?那会用了下没有效果,是还需要设置什么吗? 谢谢哦

wode301 | 园豆:5 (初学一级) | 2013-08-09 14:36

@wode301: 不能完全实现,就是...这个不会有。css控制就是将超出容器的部分隐藏而已。

幻天芒 | 园豆:37175 (高人七级) | 2013-08-09 16:58
其他回答(2)
0

在 sql 查询分析器中能工作吗?

AbContent  是什么类型?

收获园豆:3
Launcher | 园豆:45045 (高人七级) | 2013-08-09 13:01

好像也不能,nvarchar类型的。是在百度编译器里输入的内容,带有格式,截取前20个,取到的都是格式,是不是截取的字符数小了呢?

支持(0) 反对(0) wode301 | 园豆:5 (初学一级) | 2013-08-09 13:07

@wode301: 那你 select AbContent from Abstract,在查询分析器里显示的啥?有截图么?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-08-09 13:20

@Launcher: 也是带有样式的,截图上传不了呢

支持(0) 反对(0) wode301 | 园豆:5 (初学一级) | 2013-08-09 13:28

@wode301: 带有样式的话,就不能直接截取。可能你可以根据样式的规律,能够先略过那些样式标记后只截取内容字符。

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2013-08-09 13:30

@Launcher: 恩恩,谢谢哦

支持(0) 反对(0) wode301 | 园豆:5 (初学一级) | 2013-08-09 13:36
0

我在数据库试了下,语句没问题

你确定页面绑定你用的是AbContent1,而不是AbContent

收获园豆:3
Eddiew | 园豆:286 (菜鸟二级) | 2013-08-09 13:28

晕,刚才试了下,绑定的是AbContent呢,这段代码是写在存储过程中的,要绑定AbContent1,该怎么做呢?谢谢

支持(0) 反对(0) wode301 | 园豆:5 (初学一级) | 2013-08-09 13:36

我知道了 谢谢

支持(0) 反对(0) wode301 | 园豆:5 (初学一级) | 2013-08-09 13:42

@wode301: 这段代码是写在存储过程中的,什么意思?!!!!AbContent字段不是也写在存储过程中吗,直接用AbContent1字段不就可以了吗

支持(0) 反对(0) Eddiew | 园豆:286 (菜鸟二级) | 2013-08-09 13:44

@Eddiew:恩恩  刚才没反应过来,刚给你回复完就反应过来了 谢谢哦

支持(0) 反对(0) wode301 | 园豆:5 (初学一级) | 2013-08-09 13:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册