Sql-Server-2000

查詢輸出視窗不遵守固定長度

  • September 14, 2017

下面的查詢具有以字元串形式返回的數據集的固定長度值,現在的問題是查詢結果中不遵守固定長度。但是 DB mail 生成的輸出文本文件看起來是正確的。請參閱以下範例:

    SELECT 
         LEFT(CONVERT(char(9), machine) + SPACE(9),9) 
         + LEFT(CONVERT(char(30), part_no) + SPACE(30), 30) 
         + LEFT(CONVERT(char(7), ordered) + SPACE(7), 7) 
         + LEFT(CONVERT(char(7), picked)  + SPACE(7), 7) 
         + LEFT(CONVERT(char(7), allocated)  + SPACE(7), 7)
         + LEFT(CONVERT(char(7), in_stock)  + SPACE(7), 7) 
         + LEFT(CONVERT(char(7), sh_bin_qty)  + SPACE(7), 7)  
         + LEFT(CONVERT(char(7), short)  + SPACE(7), 7) 
         + min_bin

原始輸出結果

圖像1

文本文件結果

圖像1

它尊重固定的字元長度。但是,它似乎沒有使用等寬字型,所以看起來不是。列的字元長度是固定的。字元寬度取決於字型。DB Mail 使用等寬字型。

https://en.wikipedia.org/wiki/Monospaced_font

等寬字型,也稱為固定間距、固定寬度或非比例字型,是一種字型,其字母和字元各自佔據相同數量的水平空間。

$$ 1 $$這與可變寬度字型形成對比,其中字母和間距具有不同的寬度。

注意 an 佔用的空間M比 an 佔用的多I

引用自:https://dba.stackexchange.com/questions/186024