有時候因為數據庫不嚴謹導致了出現有些數字很奇怪例如這樣是varchar類型的字符串,
這種數據不能用來運算聚合,那么要怎么辦呢?
這樣就搞定
- REPLACE(your_column, ',', '')??:將字段中的逗號移除,例如將
3,553,850.28
轉換為3553850.28
。 - ??CAST(... AS DECIMAL(20, 2))??:將字符串轉為
DECIMAL
類型,保留兩位小數。20
表示總位數,2
是小數位數,可根據數據范圍調整。 - ??SUM()??:對轉換后的數值求和。
SELECT SUM(CAST(REPLACE(支付金額 , ',', '') AS DECIMAL(20, 2))) AS total_sum
FROM puma_ol.puma_ol_tm_sycm_shopkpi_day where 統計日期 between '2025-05-12' and'2025-05-18'