Ini adalah bagian dari tutorial Oracle SQL dan memiliki contoh yang bagus, penjelasan tentang fungsi baris tunggal di Oracle Sql
Fungsi adalah program yang mengambil nol atau lebih argumen dan mengembalikan satu nilai.
Fungsi dapat berupa baris tunggal, beberapa fungsi baris
Kami akan membahas di sini Fungsi baris tunggal dalam SQL
Apa itu fungsi baris tunggal di Oracle SQL
Fungsi baris tunggal adalah fungsi bawaan dan mencakup karakter, numerik, tanggal, konversi, dan fungsi yang ditentukan pengguna.
Semua fungsi baris tunggal dapat digunakan dalam program SQL atau PL/SQL dan dapat digunakan dalam klausa SELECT, WHERE, dan ORDER BY.
Fungsi baris tunggal termasuk TO_CHAR, TO_DATE, UPPER, LOWER dll
Fungsi baris tunggal dapat digunakan juga dalam klausa SET dari dan perintah UPDATE. Fungsi baris tunggal tidak dapat digunakan dalam klausa HAVING.
Mari kita periksa berbagai fungsi baris tunggal yang penting
Fungsi Karakter di SQL
Fungsi Karakter adalah:
LOWER('char') :mengubah string menjadi huruf kecil
SQL> pilih ename dari "EMP";ENAME----------BlakeClarkScottSQL> pilih lebih rendah(ename) dari "EMP";LOWER(ENAM----------blakeclarkscottUPPER(‘CHAR’) :mengonversi string menjadi huruf besar
SQL> pilih upper(ename) dari "EMP";UPPER(ENAM----------BLAKECLARKSCOTTINITCAP('Char') :mengembalikan string dengan huruf pertama setiap kata dalam huruf besar
SQL> pilih initcap(ename) dari "EMP";INITCAP(EN----------BlakeClarkScottCONCAT – Fungsi memiliki dua batas parameter.
SQL> pilih concat(ename,DEPTNO) dari emp;CONCAT(ENAME,DEPTNO)----------------------------- ---------------------Blake10Clark10Scott20SQL> pilih concat(ename,empno,DEPTNO) dari emp;pilih concat(ename,empno,DEPTNO) dari emp *ERROR di baris 1:ORA-00909:jumlah argumen tidak validLENGTH :mengembalikan panjang string
SQL> pilih ename,length(ename) dari emp;ENAME LENGTH(ENAME)---------- -------------Blake 5Clark 5Scott 5LENGTHB:mengembalikan panjang string dalam byte
SQL> pilih ename,length(ename),lengthb(ename) dari emp;ENAME LENGTH(ENAME) LENGTHB(ENAME)---------- ----------- --------------Blake 5 5Clark 5 5Scott 5 5INSTR :mengembalikan indeks string yang dicari dalam string,
SQL> pilih ename,instr(ename,'A') dari emp;ENAME INSTR(ENAME,'A')---------- ------------ ---- Blake 0Clark 0Scott 0SQL> pilih ename,instr(ename,'a') dari emp;ENAME INSTR(ENAME,'A')---------- -------- --------Blake 3Clark 3Scott 0LPAD:pad kiri string dengan n karakter
SQL> pilih ename,lpad(ename,12) dari emp;ENAME LPAD(ENAME,12)------------------------------- --------------------Blake BlakeClark ClarkScott ScottSQL> pilih ename,lpad(ename,12,'-') dari emp;ENAME LPAD(ENAME,12,'- ')---------- ------------------------------------Blake - ------BlakeClark -------ClarkScott -------ScottLTRIM:menghapus karakter utama dari string
SQL> pilih ltrim(' name') dari dual;LTRI----nameSQL> pilih ltrim(' name ') dari dual;LTRIM('-------nameSQL> pilih LTRIM('000123' , '0') dari dual;LTR---123SQL> pilih LTRIM('1000123', '0') dari dual;LTRIM('-------1000123REPLACE:lakukan pencarian substring dan ganti
SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL;Changes--------------BLACK and BLUESUBSTR – mengembalikan bagian string yang ditentukan dalam nilai numerik
SUBSTRB – sama seperti SUBSTR hanya dengan byte
SOUNDEX – mengembalikan representasi fonetik string
TRANSLATE – melakukan pencarian karakter dan mengganti
TRIM – karakter awal dan akhir string dari stringContoh pilih emp_name, concat(emp_name,dept_name), length (ename),INSTR(ename, 'A') dari dept;pilih lower(emp_name) dari employee;pilih upper(first_name) dari emp;Seperti yang dijelaskan, fungsi baris tunggal bekerja pada setiap baris
Terkait: Pemrosesan dekode sql Oracle
Fungsi numerik dalam Sql
Fungsi Bilangan adalah:
ROUND :membulatkan suatu bilanganSQL> pilih round(3.456) dari dual;ROUND(3.456)------------ 3SQL> pilih round(3.456,2) dari dual;ROUND(3.456,2)--- ----------- 3.46TRUNC :memotong angka
MOD:mengembalikan modulus.yaitu sisanyaSQL> pilih mod(4,2) dari dual; MOD(4,2)---------- 0SQL> pilih mod(4,3) dari ganda; MOD(4,3)---------- 1TANDA:mengembalikan positif, negatif, atau nol
CEIL – mengembalikan angka berikutnya yang lebih tinggiSQL> pilih ceil(3.1) dari dual; CEIL(3.1)---------- 4SQL> pilih ceil(3) dari dual; CEIL(3)---------- 3LOG – mengembalikan logaritma
LANTAI – mengembalikan angka yang lebih kecil berikutnyaSQL> pilih lantai(3.1) dari ganda; LANTAI(3.1)---------- 3SQL> pilih lantai(3) dari ganda; LANTAI(3)---------- 3SQRT – mengembalikan akar kuadrat dari suatu bilangan
Contoh SELECT SQRT(25) "Akar kuadrat" FROM DUAL;SELECT order_total, CEIL(order_total) FROM orders WHERE order_id =58758;Fungsi Tanggal Oracle
Fungsi Tanggal Oracle adalah:
SYSDATE :mengembalikan tanggal saat ini
DUAL
MONTHS_BETWEEN (Mengembalikan angka) :mengembalikan jumlah bulan antara dua tanggal
ADD_MONTHS :menambahkan jumlah bulan ke date
NEXT_DAY :mengembalikan hari berikutnya dalam seminggu setelah tanggal tertentu
LAST_DAY :mengembalikan hari terakhir bulan
DBTIMEZONE – mengembalikan zona waktu basis data
TRUNC:memotong tanggal.
CURRENT_TIMESTAMP – mengembalikan tanggal dan waktu dalam format TIMESTAMPContoh SQL> pilih CURRENT_TIMESTAMP dari dual;CURRENT_TIMESTAMP--------------------------------------- ----------------------------------01-SEP-19 04.33.26.493097 PM +00:00SQL> pilih sysdate from ganda;SYSDATE---------------01-SEP-19Fungsi Konversi tipe eksplisit
TO_CHAR -mengubah angka atau tanggal menjadi VARCHAR2
TO_NUMBER :Mengonversi karakter menjadi angka
TO_DATE:Mengonversi menjadi tanggalContoh SQL> pilih to_char(sysdate ,'DD-MON-YYYY,MI') dari dual 2;TO_CHAR(SYSDATE,'DD---------------------01- SEP-2019,34Fungsi Lainnya
NVL (expr1, expr2) dan NVL3
NVL – mengambil dua argumen:NVL(x1, x2), Mengembalikan x2 ketika x1 adalah NULL atau x1 ketika x1 bukan NULL. NVL2 – mengambil tiga argumen:NVL2(x1, x2, x3), mengembalikan x3 ketika x1 adalah NULL atau x2 ketika x1 bukan NULLDECODE Fungsi ini bekerja seperti pernyataan IF-THEN-ELSE atau CASE.
COALESCE – mengembalikan nilai non-NULL pertama dalam daftar
SYS_CONTEXT – mengembalikan atribut sistem
UID – mengembalikan ID pengguna numerik untuk sesi saat iniKuis kecil untuk menguji pengetahuan tentang fungsi baris tunggal di SQL
Pertanyaan 1 :Anda menggunakan fungsi baris tunggal dalam pernyataan pilih. Fungsi mana yang dapat dikategorikan sebagai fungsi yang paling mirip dengan pernyataan if-then-else?
A) sqrt( )
B) decode( )
C) rowidtochar( )
D) new_time( )Penjelasan:
Fungsi decode() bertindak seperti klausa if-then-else dalam pernyataan SQL Anda. Pilihan sqrt() salah karena sqrt() menghasilkan
akar kuadrat dari suatu bilangan. Pilihan new_time() salah karena fungsi new_time() mengembalikan waktu baru berdasarkan nilai yang ditentukan dalam panggilan ke fungsi tersebut.Terakhir, pilihan rowidtochar() salah karena rowidtochar() adalah fungsi yang mengubah informasi ROWID menjadi informasi CHAR.
Pertanyaan 2:
Anda ingin menggunakan fungsi baris tunggal dalam pernyataan SQL Anda. Manakah dari tiga fungsi berikut yang merupakan fungsi bilangan? (Pilih tiga dari empat.)
A) sinh( )
B) sqrt( )
C) to_number( )
D) round( )
Penjelasan:
Satu-satunya fungsi non-angka dalam ini list adalah fungsi to_number(),
yang merupakan operasi konversi.Pertanyaan 3 Pernyataan SQL berikut diambil dari sesi SQL*Plus:
select decode(EMPNO, 74765, 'INACTIVE', 'ACTIVE') empno from DEPT
where substr(ENAME,1,1)> to_number ('V') dan EMPNO> 1000
dipesan oleh EMPNO desc, ENAME asc;Manakah dari baris berikut dalam pernyataan pilih yang ditampilkan di
blok kode sebelumnya yang berisi kesalahan?A) pilih decode(EMPNO, 58385, 'INACTIVE', 'ACTIVE') empno
B) dari EMP
C) dan EMPNO> 02000
D) di mana substr(ENAME,1,1 )> to_number('S')
E) dipesan oleh EMPNO desc, ENAME asc;Penjelasan:(D)
Karakter yang bersifat alfabetis, seperti S, tidak dapat diubah menjadi angka. Ketika pernyataan ini dijalankan, itu akan menghasilkan kesalahan pada baris ini.
Baris lain dalam kueri ini sudah benar sebagaimana disusun.
Pertanyaan 4 Pernyataan SELECT mana yang akan mendapatkan hasil 'elloworld' dari string 'HelloWorld'?
A. PILIH SUBSTR( 'HelloWorld',1) DARI dual;
B. PILIH INITCAP(TRIM ('HelloWorld', 1,1)) DARI dual;
C. SELECT LOWER(SUBSTR('HelloWorld', 1, 1) FROM dual;
D. SELECT LOWER(SUBSTR('HelloWorld', 2, 1) FROM dual;
E. SELECT LOWER(TRIM (' H' FROM 'HelloWorld')) FROM dual;
Jawaban:ESemoga Anda menyukai posting ini tentang fungsi baris tunggal dalam SQL. Harap berikan umpan balik
Artikel Terkait
Fungsi analitik di oracle :Fungsi Oracle Analytic menghitung nilai agregat berdasarkan kelompok baris dengan menggunakan lebih dari partisi oleh klausa oracle , mereka berbeda dari fungsi agregat
peringkat di oracle :RANK, DENSE_RANK dan ROW_NUMBER adalah oracle analitis fungsi yang digunakan untuk menentukan peringkat baris dalam kelompok baris yang disebut window
Fungsi utama di oracle :Lihat fungsi LAG di Oracle &Fungsi Lead di Oracle, cara menggunakannya dalam kueri analitik dan cara kerjanya di Oracle sql
Kueri Top-N di Oracle :Lihat halaman ini tentang menjelajahi berbagai cara untuk mencapai Kueri Top-N di Oracle dan Pagination di oracle query database oracle.