7

我有一个名为 customer 的表,我在其中选择几列并使其长度固定,我需要将值发送到 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 回答