2011-07-07 21 views
11

SQL Sorgusunda bin ayırıcı almanın bir yolu olup olmadığını bilmek ister misiniz? D isteği şöyleMYSQL - Binlerce ayırıcı

:

i biraz tembelim gibi

, bana bu ayırıcı eklemeden/kopyalama patronuma sonucu yapıştırmak için izin verebilir bir istek inşa etmek istiyor

SELECT COALESCE(Customer, 'TOTAL') AS "Customer", CONCAT(COUNT(SegmentId) , ' bookings') AS "Nb bookings", CONCAT(REPLACE(SUM(Price) , '.', ',') , ' €') AS "Total (€)", CONCAT(ROUND((
SUM(Price)/(
SELECT SUM(Price) 
FROM my_db 
WHERE CreationDate = CURRENT_DATE() 
AND SegmentStatus = "OK") *100) , 2) , ' %' 
) AS "PDM" 
FROM my_db 
WHERE CreationDate = CURRENT_DATE() 
AND SegmentStatus = "OK" 
GROUP BY Customer 
WITH ROLLUP 

Halen sonuç (';' ile tablo ayırıcı, bu editör :(içeren bir tablo yapmak başaramadı üzgün) 'dir:

Customer;Nb bookings;Total (€);PDM 

cust_1;20 bookings;20000 €;10,01 % 

cust_2;254 bookings;17852,12 €;8,12 % 

istediğim böyle bir sonucudur:

Customer;Nb bookings;Total (€);PDM 

cust_1;20 bookings;20 000 €;10,01 % 

cust_2;254 bookings;17 852,12 €;8,12 % 

Bunu yapmanın bir yolu var mı?

bir boşluk ile nasıl bilgi yoktur teşekkürler,

B

cevap

19

ancak ayırma FORMAT() ile elde edilebilir (bir nokta veya bir virgül [yani Almanya]) ile standart.

Ben DEĞİŞTİR kullanarak bununla istediğini yapmak başardı teşekkürler Format Function

mysql> SELECT FORMAT(12332.123456, 4); 
    -> '12,332.1235' 
mysql> SELECT FORMAT(12332.1,4); 
    -> '12,332.1000' 
mysql> SELECT FORMAT(12332.2,0); 
    -> '12,332' 
mysql> SELECT FORMAT(12332.2,2,'de_DE'); 
    -> '12.332,20' 
mysql> SELECT FORMAT(12332.2,2,'pt_BR'); 
    -> '12332,20' 
+3

göz at (..., ' '''). Teşekkürler ! –

İlgili konular