从表中只选择10个字符

时间:2013-12-18 07:31:14

标签: c# sql ado.net

我正在尝试使用我网站上的最新消息制作新闻表。 在我的新闻网站上,我只想显示表格中的前20个单词(带有“阅读更多”)

我正在选择这样的桌子:

 cmd.CommandText = "SELECT news.*, login.firstname, login.lastname, login.pisture AS picture FROM news LEFT JOIN login ON login.Id = nyheder.writer ORDER BY news.Id DESC";

2 个答案:

答案 0 :(得分:3)

如果您使用sql server,请尝试在查询中添加SUBSTRING(表达式,开始,长度): 例如如果你想从“新闻”表中的“内容”字段中获取20个字符:

SELECT news.*, 
SUBSTRING ( news.content, 1, 20) as short_content ,
login.firstname, login.lastname, 
login.pisture AS picture 

FROM news LEFT JOIN login ON login.Id = nyheder.writer 
ORDER BY news.Id DESC

如果您使用其他数据库,例如oracle,请尝试“substr”。

答案 1 :(得分:1)

通常要检索数据库中长文本的一小部分,你应该使用像这样的字符串函数:

SELECT LEFT(news.newsText, 20)+"..." as shortText ,... from ...

LEFT函数在SqlServer和Ms Access数据库中有效。对于其他数据库,有一个等效的功能。如果你想要,你也可以检查新闻内容的长度,只有在它被修剪时添加“...”尾随字符串。