Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Các hàm một hàng trong Oracle sql

Đây là một phần của hướng dẫn Oracle SQL và có các ví dụ hay, giải thích về các hàm hàng đơn trong Oracle Sql

Hàm là các chương trình không nhận hoặc nhiều đối số và trả về một giá trị duy nhất.

Các hàm có thể là một hàng, nhiều hàm

Chúng ta sẽ thảo luận ở đây Các hàm hàng đơn trong SQL

Hàm một hàng trong Oracle SQL là gì

Các hàm một hàng là các hàm được tích hợp sẵn và bao gồm các hàm ký tự, số, ngày tháng, chuyển đổi và do người dùng xác định.

Tất cả các hàm hàng đơn có thể được sử dụng trong các chương trình SQL hoặc PL / SQL và có thể được sử dụng trong các mệnh đề SELECT, WHERE và ORDER BY.

Các hàm một hàng bao gồm TO_CHAR, TO_DATE, UPPER, LOWER, v.v.

Các hàm một hàng cũng có thể được sử dụng trong mệnh đề SET của và lệnh CẬP NHẬT. Không thể sử dụng các hàm một hàng trong mệnh đề HAVING.

Hãy kiểm tra các chức năng hàng đơn quan trọng khác nhau

Chức năng Ký tự trong SQL

Các Hàm Ký tự là:
LOWER (‘char’):chuyển đổi chuỗi thành chữ thường

SQL> select ename from  "EMP";

ENAME
----------
Blake
Clark
Scott

SQL> select lower(ename) from  "EMP";

LOWER(ENAM
----------
blake
clark
scott

UPPER (‘CHAR’):chuyển đổi chuỗi thành chữ hoa

SQL> select upper(ename) from  "EMP";

UPPER(ENAM
----------
BLAKE
CLARK
SCOTT

INITCAP (‘Char’):trả về một chuỗi có chữ cái đầu tiên của mỗi từ được viết hoa

SQL> select initcap(ename) from  "EMP";

INITCAP(EN
----------
Blake
Clark
Scott

CONCAT - Hàm có giới hạn hai tham số.

SQL> select concat(ename,DEPTNO) from emp;

CONCAT(ENAME,DEPTNO)
--------------------------------------------------
Blake10
Clark10
Scott20

SQL> select concat(ename,empno,DEPTNO) from emp;
select concat(ename,empno,DEPTNO) from emp
       *
ERROR at line 1:
ORA-00909: invalid number of arguments

LENGTH:trả về độ dài của chuỗi

SQL> select ename,length(ename) from emp;

ENAME      LENGTH(ENAME)
---------- -------------
Blake                  5
Clark                  5
Scott                  5

LENGTHB:trả về độ dài của một chuỗi tính bằng byte

SQL> select ename,length(ename),lengthb(ename) from emp;

ENAME      LENGTH(ENAME) LENGTHB(ENAME)
---------- ------------- --------------
Blake                  5              5
Clark                  5              5
Scott                  5              5

INSTR:trả về chỉ mục của chuỗi được tìm kiếm trong một chuỗi,

SQL>  select ename,instr(ename,'A') from emp;

ENAME      INSTR(ENAME,'A')
---------- ----------------
Blake                     0
Clark                     0
Scott                     0

SQL>  select ename,instr(ename,'a') from emp;

ENAME      INSTR(ENAME,'A')
---------- ----------------
Blake                     3
Clark                     3
Scott                     0

LPAD:đệm bên trái một chuỗi có n ký tự

SQL>  select ename,lpad(ename,12) from emp;

ENAME      LPAD(ENAME,12)
---------- ------------------------------------
Blake             Blake
Clark             Clark
Scott             Scott

SQL> select ename,lpad(ename,12,'-') from emp;

ENAME      LPAD(ENAME,12,'-')
---------- ------------------------------------
Blake      -------Blake
Clark      -------Clark
Scott      -------Scott

LTRIM:tách các ký tự đứng đầu khỏi một chuỗi

SQL> select ltrim(' name') from dual;

LTRI
----
name

SQL> select ltrim(' name   ') from dual;

LTRIM('
-------
name

SQL> select  LTRIM('000123', '0') from dual;

LTR
---
123

SQL> select  LTRIM('1000123', '0') from dual;

LTRIM('
-------
1000123

REPLACE:thực hiện tìm kiếm và thay thế chuỗi con

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

Changes
--------------
BLACK and BLUE

SUBSTR - trả về một phần của chuỗi được chỉ định bằng giá trị số
SUBSTRB - giống như SUBSTR chỉ với byte
SOUNDEX - trả về biểu diễn phiên âm của một chuỗi
DỊCH - thực hiện tìm kiếm ký tự và thay thế
TRIM - các ký tự đầu và cuối chuỗi của chuỗi

Examples

select emp_name, concat(emp_name,dept_name), length (ename),INSTR(ename, 'A') from dept;

select lower(emp_name) from employee;

select upper(first_name) from emp;

Như đã giải thích, hàm một hàng hoạt động trên mỗi hàng

Liên quan:Xử lý giải mã sql Oracle

Các hàm số trong Sql

Các Hàm Số là:
ROUND:làm tròn một số

SQL>  select round(3.456) from dual;

ROUND(3.456)
------------
           3

SQL> select round(3.456,2) from dual;

ROUND(3.456,2)
--------------
          3.46

TRUNC:cắt bớt một số
MOD:trả về modulus.i.e phần còn lại

SQL> select  mod(4,2) from dual;

  MOD(4,2)
----------
         0

SQL> select  mod(4,3) from dual;

  MOD(4,3)
----------
         1

SIGN:trả về số dương, số âm hoặc số không
CEIL - trả về số cao hơn tiếp theo

SQL> select  ceil(3.1) from dual;

 CEIL(3.1)
----------
         4

SQL> select  ceil(3) from dual;

   CEIL(3)
----------
         3

LOG - trả về lôgarit
FLOOR - trả về số nhỏ hơn tiếp theo

SQL> select  floor(3.1) from dual;

FLOOR(3.1)
----------
         3

SQL> select  floor(3) from dual;

  FLOOR(3)
----------
         3

SQRT - trả về căn bậc hai của một số

Examples

SELECT SQRT(25) "Square root" FROM DUAL;
SELECT order_total, CEIL(order_total) FROM orders WHERE order_id = 58758;

Hàm ngày của Oracle

Các Hàm Ngày của Oracle là:
SYSDATE:trả về ngày hiện tại
DUAL
MONTHS_BETWEEN (Trả về một số):trả về số tháng giữa hai ngày
ADD_MONTHS:thêm một số tháng vào date
NEXT_DAY:trả về ngày tiếp theo của tuần sau một ngày nhất định
LAST_DAY:trả về ngày cuối cùng của tháng


DBTIMEZONE - trả về múi giờ cơ sở dữ liệu
TRUNC:cắt bớt ngày.
CURRENT_TIMESTAMP - trả về ngày và giờ ở định dạng TIMESTAMP

Examples
SQL> select CURRENT_TIMESTAMP from dual;

CURRENT_TIMESTAMP
---------------------------------------------------------------------------
01-SEP-19 04.33.26.493097 PM +00:00

SQL> select sysdate from dual;

SYSDATE
---------------
01-SEP-19


Chức năng chuyển đổi loại rõ ràng

TO_CHAR -chuyển đổi số hoặc ngày thành VARCHAR2
TO_NUMBER:Chuyển đổi ký tự thành số
TO_DATE:Chuyển đổi thành ngày

Examples
SQL> select to_char(sysdate ,'DD-MON-YYYY,MI') from dual
  2  ;

TO_CHAR(SYSDATE,'DD-
--------------------
01-SEP-2019,34

Các chức năng khác

NVL (expr1, expr2) và NVL3
NVL - nhận hai đối số:NVL (x1, x2), Trả về x2 khi x1 là NULL hoặc x1 khi x1 không NULL. NVL2 - nhận ba đối số:NVL2 (x1, x2, x3), trả về x3 khi x1 là NULL hoặc x2 khi x1 không NULL

DECODE Hàm này hoạt động giống như câu lệnh IF-THEN-ELSE hoặc CASE.
COALESCE - trả về giá trị không phải NULL đầu tiên trong danh sách
SYS_CONTEXT - trả về thuộc tính hệ thống
UID - trả về ID người dùng dạng số cho phiên hiện tại

Bài kiểm tra nhỏ để kiểm tra kiến ​​thức về các hàm Hàng đơn trong SQL

Câu hỏi 1 :Bạn đang sử dụng các hàm một hàng trong một câu lệnh chọn. Chức năng nào tốt nhất có thể được phân loại là có chức năng tương tự như một câu lệnh if-then-else?

A) sqrt ()
B) decode ()
C) rowidtochar ()
D) new_time ()

Giải thích:

Hàm decode () hoạt động giống như mệnh đề if-then-else trong các câu lệnh SQL của bạn. Lựa chọn sqrt () không chính xác vì sqrt () tạo ra
căn bậc hai của một số. Lựa chọn new_time () không chính xác vì hàm new_time () trả về thời gian mới dựa trên các giá trị được chỉ định trong lệnh gọi hàm đó.

Cuối cùng, lựa chọn rowidtochar () không chính xác vì rowidtochar () là một hàm chuyển đổi thông tin ROWID thành thông tin CHAR.

Câu hỏi 2:

Bạn muốn sử dụng các hàm một hàng trong các câu lệnh SQL của mình. Ba trong số các hàm số sau đây là hàm số nào? (Chọn ba trong bốn.)

A) sinh ()
B) sqrt ()
C) to_number ()
D) round ()
Giải thích:
Hàm không phải là số duy nhất trong này list là hàm to_number (),
là một thao tác chuyển đổi.

Câu hỏi 3 Câu lệnh SQL sau được lấy từ một phiên SQL * Plus:
select decode (EMPNO, 74765, 'INACTIVE', 'ACTIVE') empno from DEPT
where substr (ENAME, 1,1)> to_number ('V') và EMPNO> 1000
đặt hàng bởi EMPNO desc, ENAME asc;

Dòng nào sau đây trong câu lệnh select được hiển thị trong
khối mã trước đó chứa lỗi?

A) chọn giải mã (EMPNO, 58385, 'INACTIVE', 'ACTIVE') empno
B) từ EMP
C) và EMPNO> 02000
D) trong đó substr (ENAME, 1,1 )> to_number ('S')
E) đặt hàng bởi EMPNO desc, ENAME asc;

Giải thích:(D)
Các ký tự trong bảng chữ cái, chẳng hạn như S, không thể chuyển đổi thành số. Khi câu lệnh này được chạy, nó sẽ tạo ra một lỗi trên dòng này.
các dòng khác trong truy vấn này đúng như đã soạn.

Câu hỏi 4 Câu lệnh SELECT nào sẽ nhận kết quả là ‘elloworld’ từ chuỗi ‘HelloWorld’?
A. CHỌN SUBSTR (‘HelloWorld’, 1) TỪ kép;
B. CHỌN INITCAP (TRIM (‘HelloWorld’, 1,1)) TỪ kép;
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 ')) TỪ kép;
Đáp án:E

Hy vọng bạn thích bài đăng này về Các hàm hàng đơn trong SQL. Vui lòng cung cấp phản hồi

Các bài viết có liên quan
Các hàm phân tích trong oracle:Các hàm Oracle Analytic tính toán giá trị tổng hợp dựa trên nhóm hàng bằng cách sử dụng mệnh đề over partition by oracle, chúng khác với các hàm tổng hợp
xếp hạng trong oracle:RANK, DENSE_RANK và ROW_NUMBER là phân tích oracle hàm được sử dụng để xếp hạng các hàng trong nhóm hàng được gọi là window
Hàm Lead trong oracle:Kiểm tra hàm LAG trong Oracle &hàm Lead trong Oracle, cách sử dụng chúng trong các truy vấn phân tích và cách hoạt động của nó trong Oracle sql
Truy vấn Top-N trong Oracle:Xem trang này để khám phá các cách khác nhau để đạt được các Truy vấn Top-N trong Oracle và Phân trang trong cơ sở dữ liệu oracle truy vấn 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. Khám phá các kiểu cấp gói PL / SQL bằng cách sử dụng dạng xem từ điển Oracle

  2. Xóa bằng kết nối trái trong Oracle 10g

  3. Cơ sở dữ liệu Oracle là gì?

  4. Oracle:Số ngày giữa hai ngày và Loại trừ các ngày trong tuần cách xử lý số âm

  5. Cách định dạng số bằng dấu trừ / dấu cộng trong Oracle