Heim  >  Artikel  >  Datenbank  >  So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

青灯夜游
青灯夜游Original
2022-01-06 14:34:2035111Durchsuche

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)“.

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

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属性添加到列。

测试案例:

数据库的表结构

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

第一种计算方式:

select convert(t/100,decimal(15,2)) as money from test

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

select convert(t/100,decimal(10,2)) as money from test

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

第二种计算方式

返回数字X,截断到D小数位。 如果D为0,结果没有小数点或小数部分。 D是负数,导致值X的小数点左边的D数字变为零。(简单说就是没有四舍五入)

SELECT TRUNCATE(t/100,2) as g from test

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen

TRUNCATE(x,d)

In der obigen Syntax:

🎜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🎜

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen🎜

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen🎜🎜Die erste Berechnungsmethode:🎜rrreee

🎜rrreee

 1B5297548730F280B4141 ebc869fbbed33.png 🎜🎜 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

So implementieren Sie eine Division in MySQL mit zwei Dezimalstellen🎜🎜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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn