Articles

Non-integer

Synopsis

Użyj typów danych non-integer (zmiennoprzecinkowych i stałoprzecinkowych), aby określić liczby niebędące liczbami całkowitymi. Różne zmiennoprzecinkowe typy danych reprezentują liczby o różnej precyzji.

.

Typ danych Opis Precyzja dziesiętna
FLOAT Inexact 32-.bitowa liczba zmiennoprzecinkowa 7
DOUBLE Inexact 64-bitowa liczba zmiennoprzecinkowa 15
DECIMAL Liczba arbitralnie precyzyjna brak górnegobound

Syntaktyka

Gdzie

  • Kolumny typu FLOATDOUBLEDOUBLE PRECISION, lub DECIMAL mogą być częścią PRIMARY KEY.
  • DOUBLE i DOUBLE PRECISION są aliasami.
  • non_integer_floating_point_literal jest używany dla wartości typów FLOATDOUBLE i DOUBLE PRECISION.
  • non_integer_fixed_point_literal jest używany dla wartości typu DECIMAL.

Semantyka

  • Wartości różnych typów danych zmiennoprzecinkowych i stałoprzecinkowych są porównywalne i wymienialne między sobą.
    • Konwersja z typów zmiennoprzecinkowych do DECIMAL spowoduje podniesienie błędu dla wartości specjalnych NaNInfinity, i -Infinity.
  • Wartości liczbowych typów danych niebędących liczbami całkowitymi nie są ani porównywalne, ani przeliczalne na liczby całkowite, chociaż liczby całkowite są na nie przeliczalne.
  • Porządek dla specjalnych wartości zmiennoprzecinkowych jest zdefiniowany jako (w porządku rosnącym): -Infinity, wszystkie wartości ujemne w kolejności, wszystkie wartości dodatnie w kolejności, Infinity, oraz NaN.

Przykłady

ycqlsh:example> CREATE TABLE sensor_data (sensor_id INT PRIMARY KEY, float_val FLOAT, dbl_val DOUBLE, dec_val DECIMAL);
ycqlsh:example> INSERT INTO sensor_data(sensor_id, float_val, dbl_val, dec_val) VALUES (1, 321.0456789, 321.0456789, 321.0456789);

Integry literalne mogą być również użyte (Użycie semantyki upsert do aktualizacji nieistniejącego wiersza).nieistniejący wiersz).

ycqlsh:example> UPDATE sensor_data SET float_val = 1, dbl_val = 1, dec_val = 1 WHERE sensor_id = 2;
ycqlsh:example> SELECT * FROM sensor_data;
 sensor_id | float_val | dbl_val | dec_val-----------+-----------+-----------+------------- 2 | 1 | 1 | 1 1 | 321.04568 | 321.04568 | 321.0456789

Zobacz także

  • Typy danych

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *