2012-02-23 9 views
1

価格[小数点以下8,5]と小数点[tinyint - 最大値は5]のような列の商品を持つ表があります。 商品をリストするときは、小数点以下の桁に指定された小数点以下の桁数で価格を表示する必要があります。 私は(MySQLで)このような何かMySqlの書式選択円列

select p.price, round(p.price, p.decimals) as price, p.decimals 
from product p 

を試みたが、それは

100.35667 100.35700 3 

を返し、私はまた、「ラウンド」は私ではない数を丸めることがわかり100 になりたいです範囲。よろしくです。 よろしくお願いします。

+0

これは 'round'機能のバグです。 http://stackoverflow.com/q/29912352/632951 – Pacerier

答えて

2

あなたはFORMAT機能が必要です。

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_format

SELECT 
    P.price, 
    FORMAT(P.price, P.decimals) as price, 
    P.decimals 
FROM 
    product P; 
+0

を参照してください。これまでにも試しましたが、エラーを返します。[Err] 1064 - SQL構文にエラーがあります。 'P.decimals'の近くで使用する正しい構文については、ご使用のMySQLサーバのバージョンに対応するマニュアルを参照してください。 P.decimals FROM product P '3行目 –

+0

表の定義を表示してください。ここ – vulkanino

+0

作成手順です: –