有意义的字符串限制



我的表中有包含31到281个字符长度的文本的行。

与其在我的网页上的表格中显示所有这些文本,不如将这些文本限制为几个字符,以便向用户识别。

我所做的是select left(ColumnName, 30),但这种方式在页面上相当难看,因为它切断了单词中间的文本。谁能建议一种方法打破它的字符或其他东西,将显示更好的我的页面?

代码:

declare @columnname nvarchar(281)
set @columnname = 'Rather than display all this text in my table on my webpage, I''d like to limit this text to a few characters long so as to identify it to the user.'
select case when charindex(' ', @columnname, 30) > 30 
  then left(@columnname, charindex(' ', @columnname, 30)) else @columnname end
结果:

Rather than display all this text 

处理它的一种方法是使用CHARINDEX函数修改现有的解决方案,如下所示:

select left(ColumnName, charindex(' ', ColumnName, 30) - 1)
from TableName

这将从位置30开始查找第一个空格,并返回该位置左侧的所有内容。

更多信息,请参见:http://msdn.microsoft.com/en-us/library/ms186323.aspx

相关内容

  • 没有找到相关文章

最新更新