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 .