SQL删除前导零
我无法从列中删除前导零。 在本例中,我的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
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))+'