返回字符串的前N个字符

12
我需要从一个SQL Server表中选择一个字段的缩短版本,以在下拉列表中使用。
此字段必须限制为20个字符。如果该字段超过20个字符,则应显示前20个字符;如果少于20个字符,则应显示整个字符串。
我该如何实现?
4个回答

22

尝试使用left(string_field,20)或者right(string_field,20)


1
如果字符串长度为10,那么新字符串会是只有10个字符还是10个字符加上10个空格? - reefes

4

这个 SELECT 语句应该可以实现:

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

它将把“NULL”值替换为空字符串'',并将长度限制在20个字符以内。

1
LEFT()比SUBSTRING()更好,不是吗? - RickNZ

3
你可以使用LEFT命令。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接