2014-03-24 190 views
0

有沒有辦法讓MySQL用逗號返回一個值?我有這個MySQL查詢返回5位數字的值,例如14123,但我希望它是14.123。我讀了一些關於FORMAT()函數的內容,但我不確定如何將它與我的查詢一起使用,並且我想避免使用PHP。如何在MySQL中爲數字添加逗號?

我的查詢看起來是這樣的:

public function artists_count_get() 
    { 
     $this->load->database(); 
     $sql = "SELECT COUNT(DISTINCT artist_id) AS artists FROM artists"; 
     $query = $this->db->query($sql); 
     $data = $query->result(); 

     if($data) { 
      $this->response($data, 200); 
     } else { 
      $this->response(array('error' => 'There was an error'), 404); 
     } 
    } 
+0

你實際上不確定FORMAT的內容嗎? –

+0

另外,正如問題中所建議的,我將其標記爲重複項,您應該問自己爲什麼要避免在表示層(PHP)中進行格式設置。 – Dan

+0

@Dan我使用BackboneJS作爲前端和Restful API,所以我沒有使用PHP,對不起沒有提及... – SHT

回答

2

試試這個:

$sql = "SELECT FORMAT(COUNT(DISTINCT artist_id),0) AS artists FROM artists"; 

有關使用FORMAT更多信息:MySQL FORMAT

+0

謝謝!正是我在找什麼!大! – SHT

+0

是否可以將逗號更改爲點? – SHT

+0

在MySQL v5.6 FORMAT中,您可以指定一個語言環境:[MySQL FORMAT](http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_format) – segarci

1

FORMAT(X,D)格式化數X,如「格式## #,###。##',四捨五入到D小數位,並以字符串形式返回結果。如果D爲0,結果沒有小數點或小數部分。嘗試

$sql = "SELECT FORMAT(COUNT(DISTINCT artist_id), 0) AS artists FROM artists";