我有一个名为 customer 的表,我在其中选择几列并使其长度固定,我需要将值发送到 SSIS 包以获得固定长度的输出并写入文本文件
customerID:10
Mobilenumber:11
Emailaddress:256
select customerID,mobilenumber,Emailaddress from customer
我想确保我的 customerID 的长度始终为 10,手机号码为 11,电子邮件地址为 256。
我有一个名为 customer 的表,我在其中选择几列并使其长度固定,我需要将值发送到 SSIS 包以获得固定长度的输出并写入文本文件
customerID:10
Mobilenumber:11
Emailaddress:256
select customerID,mobilenumber,Emailaddress from customer
我想确保我的 customerID 的长度始终为 10,手机号码为 11,电子邮件地址为 256。
您可以将它们转换为固定长度的字符串数据类型,如下所示:
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。