Daftar fungsi numerik

Kita ngandika ndhuwur, iku ora cukup kanggo DBMS mung nyimpen data saka jinis tartamtu, iku uga perlu kanggo ndhukung pesawat ekstensif operasi super-cepet ing data saka jinis iki.

Lan, kaya sing sampeyan ngerteni, kabeh DBMS ndhukung macem-macem jinis lan operasi numerik. Dina iki sampeyan bakal kenal karo sing paling populer.

Kabeh fungsi numerik ing MySQL bisa dipérang dadi 5 klompok:

  • Operasi aritmetika
  • Operasi bit
  • Fungsi pembulatan
  • Fungsi aljabar
  • Fungsi trigonometri

Oalah, sampeyan wis kenal karo wong-wong mau amarga basa Jawa, mula aku ora bakal kaget. Nanging ayo miwiti kanthi urutan.

Dhaptar lengkap fitur bisa ditemokaké kene .

Operasi aritmetika

Ing asas, ora ana sing ora dikarepke, kabeh operasi standar sing padha karo ing papan liya:

# Tuladha
1 +, -, *, / 2+2*2 Penambahan, pengurangan, perkalian, pembagian (ora sampurna!)
2 % 13% 5 Sisa divisi
3 MOD 13 MOD5 Sisa divisi
4 DIV 13 BAB 5 Divisi kanthi integer

Saka sing menarik: nalika mbagi rong wilangan bulat, sampeyan entuk nomer nyata. Kanggo dibagi kanthi integer, sampeyan kudu nggunakake operator DIV.

Yen sampeyan pengin entuk sisa divisi kanthi integer, sampeyan kudu nggunakake operator MOD utawa%, kaya ing basa Jawa. Aku ora bakal menehi conto, amarga kanggo aku kabeh wis jelas ing kene.

Operasi bit

Sampeyan uga bisa nindakake operasi bitwise ing angka ing SQL, kaya ing Jawa. Sanajan ana nuansa. Dhaptar operasi bit sing kasedhiya ditampilake ing tabel ing ngisor iki:

# Tuladha Cathetan
1 & 0b1111 & 0b1000 Bitwise AND
2 | 0b1111 | 0b0001 Bitwise UTAWA
3 ^ 0b1111^0b1111 Bit XOR
4 ~ ~0b1111 inversi bitwise
5 >> 128 >> ​​5 Bit shift tengen
6 << 2 << 5 Bit shift ngiwa
7 BIT_COUNT() BIT_COUNT(255) Ngasilake jumlah bit sing 1

Sadurunge MySQL versi 8.0, operasi kasebut mung bisa ditindakake ing jinis data BIGINT, sing dawane 64 bit lan padha karo jinis dawa Jawa. Nanging, ing MySQL 8.0 (sing kita nimbang), konsep wis diganti. Saiki operasi kasebut bisa ditindakake ing jinis binar khusus:

  • BINARI
  • VARBINAR
  • Lan uga liwat jinis BLOB (yaiku macem-macem bita)

Kabeh jinis liyane mung diowahi dadi jinis BIGINT lan operasi ditindakake kaya sadurunge (mung ing 64 bit pisanan).

Fungsi pembulatan

Kanggo rounding ing fungsi MySQL painfully menowo kanggo sampeyan digunakake. Dhaptar kasebut diwenehi ing tabel ing ngisor iki:

# Tuladha Cathetan
1 CEIL(), CEILING() CEIL (5.1) = 6 Babak nomer nyata munggah
2 LANTAI() LANTAI(5.9) = 5 Babak nomer nyata mudhun
3 BABAK() BABAK(4.1) = 4 Babak nomer nyata menyang integer paling cedhak
4 TRUNCATE() TRUNCATE(4.123, 2) = 4.12 Cut nomer menyang N panggonan desimal
5 RAND() 0.61914388706828 Ngasilake nomer nyata acak antarane 0 lan 1
6 RAND(N) 0.93845168309142 Ngasilake nomer nyata acak antarane 0 lan 1. N digunakake minangka nilai wiji

Sampeyan wis menowo kabeh fungsi rounding wiwit nggoleki pisanan ing Jawa. Mung fungsi TRUNCATE () lan RANDOM (N) bisa dadi kapentingan ing kene.

Fungsi TRUNCATE (nomer, kuantitas) njupuk minangka paramèter pisanan minangka angka nyata, lan minangka paramèter kaloro nomer desimal sing bakal ditinggal. Nomer kasebut dipotong dadi nomer desimal sing dikarepake.

Minangka kanggo fungsi RAND (N), iku dicokot luwih rumit. Kaya sing sampeyan ngerteni, komputer ora bisa ngasilake nomer acak. Nanging, iku ngasilake urutan nomer pseudo-acak sing disebut. Sing, katon ing siji nomer, iku ora cetha apa iku acak utawa ora, nanging urutan nomer bisa uga wis padha acak. Pangembang njupuk kauntungan saka iki dening ngasilaken urutan nomer sing banget padha acak.

Ing kasus iki, saben nomer anyar saka urutan kui miturut aturan angel adhedhasar nomer sadurungé saka urutan iki . Mulane, yen sampeyan pass nomer wiwitan tartamtu (uga disebut wiji) kanggo algoritma generasi nomer acak, banjur saben-saben sampeyan bakal nampa urutan padha nomer acak .