程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 如何在把超過固定長度的文字以……表示

如何在把超過固定長度的文字以……表示

編輯:關於SqlServer
一個文章標題的列表,但是考慮到有的標題太長,影響美觀,就想參照別的網站上的樣式,把超過固定長度的文字用省略號代替,但是自己又不知道如何實現,所以想到我(唉,需要我的時候才會想到我,嗚……)

拿到題目後,我決定從數據庫來著手,寫查詢語句來實現,結果如下:

說明語句:

SELECT (LEFT(原字段,位數)+'...') AS 新字段
FROM 表名 WHERE DATALENGTH(原字段)>位數
UNION ALL
SELECT 原字段 AS 新字段 FROM 表名 WHERE DATALENGTH(原字段)<=位數

後來考慮到Access中不支持DATALENGTH()函數,所以改為LEN(),不過這樣的話,中文字也算作一位,而不是原來的兩位。


最後寫成:
select top 5 * from(
SELECT id,(LEFT([description],25)+'...') AS descriptionx,kind,datetime, description, author, hit FROM [xjx] WHERE len(description)>25
UNION ALL
SELECT id,description AS descriptionx,kind,datetime, description, author, hit FROM [xjx] WHERE len(description)<=25) TempTable where kind='活動簡報' order by datetime "


<
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved