簡體   English   中英

SQL 刪除前導零

[英]SQL remove leading zeros

我無法從列中刪除前導零。 在這種情況下,我的 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() function:

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

為什么首先將這些值存儲為字符串? 您應該將數字存儲為數字。 如果它們是數字,則不應對它們使用字符串函數。

L/RTRIM僅刪除空格,不刪除尾隨零。 無論如何,您不能修剪數字,它不是文本。

你想要: CAST(Qty AS int)FLOOR(Qty AS int)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM