Trong SQL Server, T-SQL POWER()
hàm là một hàm toán học trả về giá trị của biểu thức được chỉ định thành lũy thừa được chỉ định.
Hàm chấp nhận hai đối số; cái đầu tiên chỉ định biểu thức, cái thứ hai chỉ định sức mạnh để nâng biểu thức đó lên.
Giá trị trả về có cùng kiểu dữ liệu với đối số đầu tiên.
Cú pháp
Cú pháp như sau:
POWER ( float_expression , y )
Trong đó float_expression là một biểu thức của kiểu float hoặc kiểu có thể được chuyển đổi hoàn toàn thành float và y là sức mạnh để nâng float_expression .
y có thể là một biểu thức của danh mục kiểu dữ liệu số chính xác hoặc số gần đúng, ngoại trừ kiểu dữ liệu bit.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ cơ bản để chứng minh cách hoạt động của chức năng này.
SELECT POWER(2, 3) Result;
Kết quả:
+----------+ | Result | |----------| | 8 | +----------+
Ví dụ 2 - Giá trị âm
Dưới đây là một ví dụ về việc chuyển một giá trị âm cho đối số đầu tiên.
SELECT POWER(-2, 3) 'Result 1', POWER(-20, 3) 'Result 2', POWER(-2, 30) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | -8 | -8000 | 1073741824 | +------------+------------+------------+
Và đây là giá trị âm cho đối số thứ hai:
SELECT POWER(2, -3) 'Result 1', POWER(20, -20) 'Result 2', POWER(200, -300) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Và tiếp theo, cả hai đối số đều phủ định:
SELECT POWER(-2, -3) 'Result 1', POWER(-20, -20) 'Result 2', POWER(-200, -300) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Ví dụ 3 - Số không
Dưới đây là một ví dụ về việc chuyển số 0 làm đối số đầu tiên.
SELECT POWER(0, 3) 'Result 1', POWER(0, 20) 'Result 2', POWER(0, 300) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 0 | 0 | 0 | +------------+------------+------------+
Và không cho đối số thứ hai:
SELECT POWER(3, 0) 'Result 1', POWER(20, 0) 'Result 2', POWER(300, 0) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Ví dụ 4 - Vượt qua trong 1
Chuyển giá trị 1 cho đối số đầu tiên.
SELECT POWER(1, 3) 'Result 1', POWER(1, 30) 'Result 2', POWER(1, 300) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 1 | 1 | 1 | +------------+------------+------------+
Và 1 cho đối số thứ hai:
SELECT POWER(3, 1) 'Result 1', POWER(30, 1) 'Result 2', POWER(300, 1) 'Result 3';
Kết quả:
+------------+------------+------------+ | Result 1 | Result 2 | Result 3 | |------------+------------+------------| | 3 | 30 | 300 | +------------+------------+------------+
Ví dụ 5 - Biểu thức
Bạn cũng có thể chuyển vào các biểu thức như sau:
SELECT POWER(5*2, 2) Result;
Kết quả:
+----------+ | Result | |----------| | 100 | +----------+
Điều đó cũng giống như làm điều này một cách hiệu quả:
SELECT POWER(10, 2) Result;
Kết quả:
+----------+ | Result | |----------| | 100 | +----------+
LOG10 ()
Transact-SQL cũng có LOG10()
hàm có liên quan nghịch với POWER()
.