0
不知有是SQL Server單功能,或至少沒有條件CASE
一種形式,可以替代以下功能:CASE WHEN LEN(x)的>然後我LEFT(X,j)的+ Y ELSE X END
CASE WHEN LEN (character_expression) > result_length THEN LEFT (character_expression, resultWithoutPad_length) + padWith_expression ELSE character_expression END
這樣
CREATE TABLE foo (bar VARCHAR (MAX));
INSERT INTO foo (bar) VALUES ('123456'), ('1234567'), ('12345678'), ('123456789'), ('1234567890'), ('12345678901'), ('123456789012');
SELECT CASE WHEN LEN (bar) > 10 THEN LEFT (bar, 7) + '...' ELSE bar END FROM foo;
將返回以下結果:
(No column name) ---------------- 123456 1234567 12345678 123456789 1234567890 1234567... 1234567...
我試過STUFF (character_expression, start, length, replaceWith_expression)
,但我找不到修改它以適合我的要求的方法。
請問你的解決方案不能滿足您的需求? – Greg
我沒有看到一個函數怎麼可能比你已經有的更簡單 – Kevin
它適合。我只是不喜歡它的外觀,並懷疑是否有另一個更好看的。 – tjeloep