Bạn cũng có thể sử dụng dưới đây, iif tránh báo cáo trường hợp và chỉ cho biết thêm elip khi có yêu cầu (chỉ tốt trong SQL Server 2012 và sau) và báo cáo trường hợp là hơn ANSI compliant (nhưng tiết hơn)
SELECT
col, LEN(col),
col2, LEN(col2),
col3, LEN(col3) FROM (
SELECT
col,
LEFT(x.col, 15) + (IIF(len(x.col) > 15, '...', '')) AS col2,
LEFT(x.col, 15) + (CASE WHEN len(x.col) > 15 THEN '...' ELSE '' END) AS col3
from (
select 'this is a long string. One that is longer than 15 characters' as col
UNION
SELECT 'short string' AS col
UNION
SELECT 'string==15 char' AS col
UNION
SELECT NULL AS col
UNION
SELECT '' AS col
) x
) y
Nguồn
2017-05-31 21:11:04
bạn "chuỗi mong muốn" chứa 28 ký tự từ "chuỗi gốc", không phải gần với "10 hoặc 15" bạn đang yêu cầu –