我正在使用MS SQL,我的查询是这样的:
select
A.CUS_EuroCustId No_Id,
' ' BLANK1,
A.IVC_Number INV_Nr ,
' ' BLANK2,
'PINV' PINV ,
' ' BLANK3,
from
INVOICE as A
然后输出如下:
01102450 146918 PINV
01102847 146381 PINV
01105915 16151 PINV
01102646 146850 PINV
01105915 16150 PINV
IVC_Number有两种格式,6位数和5位数,IVC_Number和'PINV'之间的空格很重要。现在我如何在我的SQL查询中创建它,输出应该是这样的:
01102450 146918 PINV
01102847 146381 PINV
01105915 16151 PINV
01102646 146850 PINV
01105915 16150 PINV
感谢。
答案 0 :(得分:4)
使用LEFT
并自行添加一些填充:
LEFT(A.IVC_Number+' ',6) INV_Nr ,
它总是6个字符宽。
虽然当然,在当前查询中,每列都应该单独显示 - 有些东西将所有列组合成一段文本,我通常建议将字符串格式化为任何一个组件是,而不是在SQL中工作。
答案 1 :(得分:0)
这是一个替代方案 - 您需要使用单型(固定宽度)字体来查看结果,但间距应该是正确的(相应地调整 - 两者当前都设置为7个字符):< / p>
SELECT
RIGHT(' ' + CAST(ID AS VARCHAR(7)), 7) +
RIGHT(' ' + CAST(INV_Nr AS VARCHAR(7)), 7) +
PINV
FROM Test
祝你好运。