วิธีที่ดีที่สุดในการใส่เครื่องหมายจุลภาคเป็นจำนวนมาก


10

ฉันเริ่มงานใหม่แล้วและมันเกี่ยวข้องกับการดูเป็นจำนวนมาก มีวิธีง่าย ๆ ในการเพิ่มเครื่องหมายจุลภาคในintหรือdecimalเขตข้อมูลเพื่อให้สามารถอ่านได้หรือไม่

ตัวอย่างเช่น SQL Server แสดงคอลัมน์ทางด้านซ้าย แต่สำหรับสติของตัวเองฉันต้องการให้มันดูเหมือนคอลัมน์ทางด้านขวา:

2036150 -> 2,036,150  

... หรือฉันจะต้องเขียนบางอย่างชั่วร้าย

left(right(vandalized_data),6),3) + ',' + right(left(vandalized_data),6),3)

ฟังก์ชั่น?

สิ่งที่สมบูรณ์แบบคือเครื่องหมายจุลภาคในตารางแสดงผลจากนั้นจำนวนเต็มธรรมดาในผลลัพธ์

คำตอบ:


15

หากคุณใช้ SQL Server 2012+ และต้องการทำ (โดยไม่ต้องใส่ทศนิยม):

SELECT FORMAT(2036150, N'N0')

หากคุณอยู่ในเวอร์ชันก่อนหน้าคุณต้องข้ามห่วงบางอย่าง:

SELECT REPLACE(CONVERT(NVARCHAR(30), CAST((2036150) AS MONEY), 1), N'.00', N'')

18

ฟังก์ชันFORMATของ TSQL สามารถทำได้ เช่น

select format(1232131312342132123.2222,'0,###.##')

เอาท์พุท

1,232,131,312,342,132,123.22

หากคุณต้องการใช้ตัวคั่นอื่นคุณยังคงใช้,ซึ่งมีความหมายพิเศษในสตริงรูปแบบ. Net แล้วแทนที่,ด้วยอย่างอื่น เช่น:

select replace(format(123445678.2222,'#,###.##'),',','_')

เอาท์พุท

123_445_678.22
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.