返回字符串的前N个字符

时间:2009-12-16 21:58:28

标签: sql-server string

我需要从SQL Server表中选择一个缩短版本的字段,以便在下拉列表中使用。

此字段必须限制为二十个字符。如果该字段超过二十个字符,则应显示前二十个字符;如果它少于20个字符,它应该显示整个字符串。

我该怎么做?

4 个答案:

答案 0 :(得分:15)

尝试left(sting_field,20)right(sting_field,20)

答案 1 :(得分:3)

这个SELECT应该:

SELECT 
  SUBSTRING(ISNULL(stringfield, ''), 1, 20)

它将用空字符串''替换“NULL”值,并将长度限制为最多20个字符。

答案 2 :(得分:2)

您可以使用LEFT命令。

答案 3 :(得分:0)

我很困惑...为什么你没有填充下拉列表的代码来管理正在加载的数据的长度。

如果您必须在查询中执行此操作,则只需在列上执行子字符串:

https://docs.microsoft.com/en-us/sql/t-sql/functions/substring-transact-sql