7

いくつかの列を選択して固定長にする顧客というテーブルがあり、固定長出力のために値をSSISパッケージに送信する必要があり、テキストファイルに書き込まれます

customerID:10
Mobilenumber:11
Emailaddress:256

select customerID,mobilenumber,Emailaddress from customer 

customerID の長さが常に 10、携帯電話番号が 11、メールアドレスが 256 であることを確認したいと考えています。

4

1 に答える 1

9

次のように、固定長の文字列データ型としてキャストできます。

select cast(customerID as char(10)) as customerID,
    cast(mobilenumber as char(11)) as mobilenumber,
    cast(Emailaddress as char(256)) as Emailaddress
from customer

このように作業しているときに奇妙なことに遭遇した場合は、ANSI_PADDINGの設定を念頭に置いておくと役立つ場合があります。

これを行う別の方法は次のとおりです。

select left(Emailaddress + replicate(' ', 256), 256)

この方法は多くの場合、他の言語からの同様のロジックを T-SQL に適用するだけです。

于 2012-10-02T03:17:43.270 に答える