【问题标题】:Select Query for the fixed length选择查询固定长度
【发布时间】:2012-09-22 22:16:15
【问题描述】:

我有一个名为 customer 的表,我在其中选择几列并使其长度固定,我需要将值发送到 SSIS 包以获得固定长度的输出并写入文本文件中

customerID:10
Mobilenumber:11
Emailaddress:256

select customerID,mobilenumber,Emailaddress from customer 

我想确保我的 customerID 的长度始终为 10,手机号码为 11,电子邮件地址为 256。

【问题讨论】:

    标签: sql sql-server-2008 ssis text-files fixed-width


    【解决方案1】:

    您可以将它们转换为固定长度的字符串数据类型,如下所示:

    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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      相关资源
      最近更新 更多