Trong Oracle, ASIN()
hàm trả về arcsine (inverse sin) của đối số của nó.
Nói cách khác, nó trả về giá trị có sin là đối số.
Cú pháp
Cú pháp như sau:
ASIN(n)
Ở đâu n
là một biểu thức hợp lệ phân giải thành một số giữa -1
và 1
.
Ví dụ
Đây là một ví dụ:
SELECT ASIN(0.7130)
FROM DUAL;
Kết quả:
ASIN(0.7130) _____________________________________________ 0.7937675542241276685031867479973723291388
Đối số ngoài phạm vi
Đối số phải nằm trong khoảng -1
và 1
. Nếu nó nằm ngoài phạm vi đó, một lỗi sẽ được trả về.
Ví dụ:
SELECT ASIN(2)
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT ASIN(2) FROM DUAL Error report - ORA-01428: argument '2' is out of range
Đối số không phải là số
Đối số có thể là bất kỳ kiểu dữ liệu số hoặc bất kỳ kiểu dữ liệu không phải số nào có thể được chuyển đổi hoàn toàn sang kiểu dữ liệu số.
Đây là những gì sẽ xảy ra khi chúng tôi cung cấp đối số không phải là số không thể chuyển đổi thành kiểu dữ liệu số:
SELECT ASIN('One')
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT ASIN('One') FROM DUAL Error report - ORA-01722: invalid number
Giá trị rỗng
Chuyển null
thành ASIN()
trả về null
:
SET NULL 'null';
SELECT ASIN(null)
FROM DUAL;
Kết quả:
ASIN(NULL) _____________ null
Theo mặc định, SQLcl và SQL * Plus trả về một khoảng trống bất cứ khi nào null
xảy ra do một SELECT
trong SQL tuyên bố.
Tuy nhiên, bạn có thể sử dụng SET NULL
để chỉ định một chuỗi khác được trả về. Ở đây tôi đã chỉ định rằng chuỗi null
nên được trả lại.
Số lượng đối số không chính xác
Gọi ASIN()
mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:
SELECT ASIN()
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT ASIN() FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action:
Và việc chuyển sai số đối số dẫn đến lỗi:
SELECT ASIN(1, 2)
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT ASIN(1, 2) FROM DUAL Error at Command Line : 1 Column : 8 Error report - SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments" *Cause: *Action: