Heim >Datenbank >MySQL-Tutorial >So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen
MySQL-Divisionsmethode mit zwei Dezimalstellen: 1. Verwenden Sie die Funktion „DECIMAL(P,D)“, Syntax „convert(value 1/value 2, decimal(15,2))“ 2. Verwenden Sie die Funktion „TRUNCATE()“; Funktion, Syntax „TRUNCATE(value1/value2,2)“.
Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.
Bei der Arbeit stoßen wir auf Dezimalberechnungen und müssen die 0 am Ende der Dezimalzahl anzeigen. Wir werden die DECIMAL-Funktion verwenden, eine sehr leistungsstarke Funktion: spezifische Verwendung DECIMAL(P,D)code>; <code>DECIMAL(P,D)
;
在上面的语法中:
P是表示有效数字数的精度。 P范围为1〜65。
D是表示小数点后的位数。 D的范围是0~30。MySQL要求D小于或等于(
DECIMAL(P,D)
表示列可以存储D位小数的P位数。十进制列的实际范围取决于精度和刻度。
与INT数据类型一样,DECIMAL类型也具有UNSIGNED和ZEROFILL属性。 如果使用UNSIGNED属性,则DECIMAL UNSIGNED的列将不接受负值。
如果使用ZEROFILL,MySQL将把显示值填充到0以显示由列定义指定的宽度。 另外,如果我们对DECIMAL列使用ZERO FILL,MySQL将自动将UNSIGNED属性添加到列。
测试案例:
数据库的表结构
第一种计算方式:
select convert(t/100,decimal(15,2)) as money from test
select convert(t/100,decimal(10,2)) as money from test
第二种计算方式
返回数字X,截断到D小数位。 如果D为0,结果没有小数点或小数部分。 D是负数,导致值X的小数点左边的D数字变为零。(简单说就是没有四舍五入)
SELECT TRUNCATE(t/100,2) as g from test
TRUNCATE(x,d)
DECIMAL(P, D)
bedeutet, dass die Spalte P Ziffern mit D Dezimalstellen speichern kann. Der tatsächliche Bereich einer Dezimalspalte hängt von der Genauigkeit und dem Maßstab ab. 🎜🎜Wie der INT-Datentyp verfügt auch der DECIMAL-Typ über die Attribute UNSIGNED und ZEROFILL. Wenn das UNSIGNED-Attribut verwendet wird, werden negative Werte für DECIMAL UNSIGNED-Spalten nicht akzeptiert. 🎜🎜Wenn ZEROFILL verwendet wird, füllt MySQL den Anzeigewert auf 0 auf, um die in der Spaltendefinition angegebene Breite anzuzeigen. Wenn wir außerdem ZERO FILL für eine DECIMAL-Spalte verwenden, fügt MySQL automatisch das UNSIGNED-Attribut zur Spalte hinzu. 🎜🎜Testfall: 🎜🎜Tabellenstruktur der Datenbank🎜🎜
🎜🎜Die erste Berechnungsmethode:🎜rrreee
🎜rrreee
🎜🎜 Nr. 1 Zwei Berechnungsmethoden🎜🎜Gibt die Zahl X zurück, gekürzt auf D Dezimalstellen. Wenn D 0 ist, hat das Ergebnis keinen Dezimalpunkt oder Dezimalteil. D ist eine negative Zahl, wodurch die D-Ziffer links vom Dezimalpunkt des Werts X zu Null wird. (Einfach ausgedrückt gibt es keine Rundung)🎜rrreee
🎜🎜TRUNCATE(x,d)
: Die Funktion gibt die auf d Dezimalstellen gerundete Zahl x zurück. Wenn der Wert von d 0 ist, hat das Ergebnis keinen Dezimalpunkt oder Dezimalteil. Wenn d auf eine negative Zahl gesetzt ist, werden alle niederwertigen Werte ab der d-ten Ziffer links vom Dezimalpunkt von x abgeschnitten (auf Null zurückgesetzt). 🎜🎜【Verwandte Empfehlungen: 🎜MySQL-Video-Tutorial🎜】🎜
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine Division in MySQL mit zwei Dezimalstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!