Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Fungsi baris tunggal di Oracle sql

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

UPPER(‘CHAR’)  :mengonversi string menjadi huruf besar

SQL> pilih upper(ename) dari "EMP";UPPER(ENAM----------BLAKECLARKSCOTT

INITCAP('Char') :mengembalikan string dengan huruf pertama setiap kata dalam huruf besar

SQL> pilih initcap(ename) dari "EMP";INITCAP(EN----------BlakeClarkScott

CONCAT – 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 valid

LENGTH :mengembalikan panjang string

SQL> pilih ename,length(ename) dari emp;ENAME LENGTH(ENAME)---------- -------------Blake 5Clark 5Scott 5

LENGTHB: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 5

INSTR :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 0

LPAD: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 -------Scott

LTRIM: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('-------1000123

REPLACE:lakukan pencarian substring dan ganti

SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM DUAL;Changes--------------BLACK and BLUE

SUBSTR – 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 string

Contoh 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 bilangan

SQL> pilih round(3.456) dari dual;ROUND(3.456)------------ 3SQL> pilih round(3.456,2) dari dual;ROUND(3.456,2)--- ----------- 3.46

TRUNC :memotong angka
MOD:mengembalikan modulus.yaitu sisanya

SQL> pilih mod(4,2) dari dual; MOD(4,2)---------- 0SQL> pilih mod(4,3) dari ganda; MOD(4,3)---------- 1

TANDA:mengembalikan positif, negatif, atau nol
CEIL – mengembalikan angka berikutnya yang lebih tinggi

SQL> pilih ceil(3.1) dari dual; CEIL(3.1)---------- 4SQL> pilih ceil(3) dari dual; CEIL(3)---------- 3

LOG – mengembalikan logaritma
LANTAI – mengembalikan angka yang lebih kecil berikutnya

SQL> pilih lantai(3.1) dari ganda; LANTAI(3.1)---------- 3SQL> pilih lantai(3) dari ganda; LANTAI(3)---------- 3

SQRT – 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 TIMESTAMP

Contoh 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-19

Fungsi Konversi tipe eksplisit

TO_CHAR -mengubah angka atau tanggal menjadi VARCHAR2
TO_NUMBER :Mengonversi karakter menjadi angka
TO_DATE:Mengonversi menjadi tanggal

Contoh SQL> pilih to_char(sysdate ,'DD-MON-YYYY,MI') dari dual 2;TO_CHAR(SYSDATE,'DD---------------------01- SEP-2019,34

Fungsi 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 NULL

DECODE 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 ini

Kuis 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:E

Semoga 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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menerapkan Penguncian Optimis di Oracle

  2. UNPIVOT pada jumlah kolom tak tentu

  3. Menggabungkan dan mengelompokkan beberapa baris di Oracle

  4. Oracle pilih untuk perilaku pembaruan

  5. Melarikan diri dari wildcard di LIKE