Trong Oracle, tôi khám phá được các function sau, kèm theo là ví dụ:
SUBSTR: lấy một đoạn ký tự con trong một chuỗi
DECLARE r VARCHAR2(50):='mai quang vinh'; BEGIN dbms_output.put_line(SUBSTR(r, 1, 1)); END;
Kết quả trả về sẽ là m
CHR: ta có thể sử dụng hàm này để chèn một ký tự xuống dòng vào
DECLARE text1 VARCHAR2(10) := 'Title'; text2 VARCHAR2(10) := 'Content'; BEGIN dbms_output.put_line(text1||CHR(10)||text2); END;
CONCAT(string1, string2): nối chuỗi
DECLARE text VARCHAR2(12) := 'hello world!'; BEGIN dbms_output.put_line(INITCAP(text)); END;
INSTR: tìm vị trí nơi một chuỗi con bắt đầu trong 1 chuỗi cha
DECLARE text VARCHAR2(12) := 'Hello World!'; BEGIN dbms_output.put_line('Start ['||INSTR(text,'World',1)||']'); END;
Kết quả trả về sẽ là Start [7]
LENGTH: hàm này đơn giản, trả về chiều dài của chuỗi
LTRIM: cắt bỏ khoảng trắng ở đầu một chuỗi. Hàm này giống bên SQL Server.
RPAD(output_string, output_length, padding_character): giống hàm LPAD ở trên, nhưng ở vị trí cuối
REPLACE(base_string, search_string, replace_string): thay thế một chuỗi con bằng một chuỗi khác
UPPER, LOWER: 2 hàm này viết thường, viết hoa một chuỗi, giống bên SQL Server.
COALESCE: tìm phần tử đầu tiên không null trong một tập hợp, giống bên SQL Server.
DECODE: cú pháp như sau:
DECODE: cú pháp như sau:
DECODE(evaluation_expression, comparison_expression1, true_expression1 , comparison_expression2, true_expression2 , comparison_expression(n+1), true_expression(n+1) , comparison false_expression);
Hàm Decode này thực thi tương tự như cấu trúc if-then-else and if-then-else-if-then-else trong SQL
DECLARE redsox NUMBER := 96; yankees NUMBER := 94; division NUMBER := 96; headline VARCHAR2(30); BEGIN SELECT DECODE(division,yankees,'Yankees clinch pennant.' ,redsox,'Red Sox clinch pennant.' ,'Tied Again!') INTO headline FROM dual; dbms_output.put_line(headline); END;
CÁC HÀM VỀ XỬ LÝ SỐ
CEIL: hàm này cho phép ta làm tròn số với giá trị tiếp theo lớn hơn giá trị hiện tại
DECLARE n NUMBER := 4.1; BEGIN dbms_output.put_line('Ceiling ['||CEIL(n)||']'); END;
Kết quả sẽ là Ceiling [5]
MODE: lấy phần dư của một phép chia
REMAINDER: lấy phần dư của một phép chia, giống hàm MODE, nhưng hàm này có 1 chút khác biệt, chạy ví dụ sau đây sẽ rõ.
DECLARE n NUMBER := 16; m NUMBER := 3.24; BEGIN dbms_output.put_line('Remainder ['||REMAINDER(n,m)||']'); dbms_output.put_line('Remainder ['||MOD(n,m)||']'); END;
POWER: hàm này là tính lũy thừa của 1 số
DECLARE n NUMBER := 3; m NUMBER := 4; BEGIN dbms_output.put_line('Cube of ['||n||'] is ['||POWER(n,m)||']'); END;Kết quả sẻ là 81, vì là 3*3*3*3=81
FLOOR: cắt đi phần thập phân của một số, giữ lại phần nguyên
DECLARE n NUMBER := 4.44; BEGIN dbms_output.put_line('Flooring ['||FLOOR(n)||']'); END;
0 comments:
Post a Comment