sql - 子字符串sql server

标签 sql sql-server string t-sql

我想显示8个字符后,如何通过substring做到这一点。 联系人姓名为amjad habib ,我要显示amjad hab... .

SELECT SUBSTRING(contractname, 1, 8)
from contracts
where contractid = 613

最佳答案

这会将字符串剪切到您可以指定的最大长度。仅当字符串太长而被截断时才会添加点。较短的字符串“按原样”显示:

DECLARE @tbl TABLE(TheName VARCHAR(100));
INSERT INTO @tbl VALUES('short'),('exactly8'),('something longer');

DECLARE @MaxLength INT=8;

SELECT TheName 
      ,LEFT(TheName,@MaxLength) + CASE WHEN LEN(TheName)>@MaxLength THEN '...' ELSE '' END AS CutToMaxLength 

FROM @tbl

结果

TheName               CutToMaxLength
short                 short
exactly8              exactly8
something longer      somethin...

关于sql - 子字符串sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35843404/

相关文章:

php - cakephp - 如何构造此查询

sql - 使用 with 语句创建 View

c++ - 将返回的字符串作为引用传递给函数而不将其分配给字符串变量

Javascript:返回字符串的两部分......

python - 格式化字符串未使用的命名参数

php - 如何从 laravel 中的 Eloquent 查询中一次获取一行?

php - 简单的 Where 子句有语法错误

sql-server - 报告服务仅显示最后一行

mysql - 不同且唯一的列值的总和

sql-server - SSRS 无法有条件地从 XML 数据源中过滤 "nil"值?