求一条SQL 查询存储过程

来源:百度知道 编辑:UC知道 时间:2024/09/20 06:56:41
要求:查询出来的留言内容如果字数长于20字,则显示前面20个字然后在后面加上“。。。。”省略号,如果不足20个字,则直接显示,后面不加省略号了
表名:TB_message
列名:message_content(放内容的)
是可以用····但可以解释一下么?》》 各个关键字

更正一下【ytbelwxg】的答案中的小错误(分给他就可以):

select case when len(message_content)>=20
then substring(message_content,1,20)+'……'
else message_content
end as message_content
from TB_message;

---
以上,希望对你有所帮助。

一激动结果给写错了,呵呵,改改吧再!
select case when len(message_content)>=20 then substring(message_content,1,20)+'……' else message_content end as message_content from TB_message

这样就可以了,不用存储过程的

when then 意思和是如果条件满足就怎么样!when 是条件 then是要执行的语句
len 是指占字节的长度如果是汉字的话可以写成40因为一个汉字占2个字节英文的话写成20就没问题啦!如果你吧message_content的数据类型定位NVARCHAR就写20就可以啦!