SQL删除前导零

SQL删除前导零,sql,Sql,我无法从列中删除前导零。 在本例中,我的SQL查询是 Select distinct ltrim(rtrim([FGQSHO])) as QTY, ltrim(rtrim([QULOTN])) as Batch, ltrim(rtrim([QUQTSH])) as BatchQty FROM serh left join boll on serh.HVSERN = boll.QUSERN left join bold on boll.QUBOL# = bold.FGBOL# and b

我无法从列中删除前导零。 在本例中,我的SQL查询是

Select distinct 


ltrim(rtrim([FGQSHO])) as QTY,
ltrim(rtrim([QULOTN])) as Batch,
ltrim(rtrim([QUQTSH])) as BatchQty

FROM serh

left join boll on serh.HVSERN = boll.QUSERN
left join bold on boll.QUBOL# = bold.FGBOL# and boll.QUENT# = bold.FGENT#
left join bolh on bold.FGBOL# = bolh.FEBOL#
left join ocri on bold.fgord# = ocri.ddord# and bold.fgitem = ocri.dditm#

where FGBOL# = '761221'
结果是

   QTY           Batch          BatchQty
30.00000    4615J0003  3Q20     14.00000
30.00000    4615J0005  4Q20     16.00000
我在寻找这个结果

QTY           Batch            BatchQty
30         4615J0003  3Q20        14
30         4615J0005  4Q20        16
使用
floor()
功能:

floor(ltrim(rtrim([FGQSHO]))) as QTY,
首先,为什么要将这些值存储为字符串?您应该将数字存储为数字。如果它们是数字,则不应在其上使用字符串函数。

使用
floor()
函数:

floor(ltrim(rtrim([FGQSHO]))) as QTY,

首先,为什么要将这些值存储为字符串?您应该将数字存储为数字。如果它们是数字,则不应在其上使用字符串函数。

L/RTRIM
仅删除空格,而不删除尾随的零。在任何情况下,都不能修剪数字,它不是文本


您需要:
CAST(数量为整数)
FLOOR(数量为整数)
L/RTRIM
只删除空格,不删除尾随的零。在任何情况下,都不能修剪数字,它不是文本


您需要:
CAST(数量为int)
FLOOR(数量为int)

我正在将此数据导出到报表生成器,但无法使用程序选项卡将结果居中设置为更好的报表查看器。无论哪种方式,您都可以执行
'+-CAST(CAST(quaty AS int)AS varchar(12))+'
我正在将此数据导出到报表生成器,但我无法使用程序选项卡将结果居中设置为更好的报表查看器。无论哪种方式,您都可以执行
''+转换(转换(数量为int)为varchar(12))+'