-1
我有一塊sql腳本,我將其輸出設置爲文本運行。 它返回的列設置爲varchar(255)
,所以在文本輸出中該列的寬度爲255個字符。T-SQL到文本:根據需要設置列寬
我知道我可以使用
Cast(ColumnName As VarChar(75))) As ColumnName
來限制它下降到75個字符的寬度,但我想實現的是,它會自動設置寬度返回最寬的結果。有誰知道這是否可能?
我有一塊sql腳本,我將其輸出設置爲文本運行。 它返回的列設置爲varchar(255)
,所以在文本輸出中該列的寬度爲255個字符。T-SQL到文本:根據需要設置列寬
我知道我可以使用
Cast(ColumnName As VarChar(75))) As ColumnName
來限制它下降到75個字符的寬度,但我想實現的是,它會自動設置寬度返回最寬的結果。有誰知道這是否可能?
使用動態查詢來實現結果。
查看下面的一個示例腳本。
CREATE TABLE #temp
(Column1 VARCHAR(50))
INSERT INTO #temp (Column1) VALUES ('1111-123'),('15454454aa-4545')
DECLARE @Delimit INT
DECLARE @queryString VARCHAR(MAX)
SELECT @Delimit=MAX(LEN(Column1)) FROM #temp --Getting the Length of largest column data
SET @queryString='SELECT CAST(Column1 AS VARCHAR('+CONVERT(VARCHAR(50),@Delimit)+'))Column1
FROM #temp'
EXEC(@queryString)
完美工作,只使用過一次動態SQL,但理解您的解決方案,謝謝 – Jeffrey
您是指設置UI元素的寬度?你可以將它設置爲'Max(Len(ColumnName))'。 – Serg
「文本輸出」是什麼意思? 'VARCHAR(X)'是用於長度不超過X個字符的文本,所以你得到的值將正好是內容的長度,與'CHAR(X)'相反,其中每個值將*精確* X字符長,如果更短,填充空格。 –