更新时间:2026-01-22 GMT+08:00

数学运算符

数学运算操作符用于执行各种操作(如数学计算、位操作)的特殊符号。

操作符

描述

用法示例

+

计算2加3,返回结果5。

1
2
3
4
5
SELECT 2+3 AS RESULT;
 result 
--------
      5
(1 row)

-

计算2减3,返回结果-1。

1
2
3
4
5
SELECT 2-3 AS RESULT;
 result 
--------
     -1
(1 row)

*

计算2乘以3,返回结果6。

1
2
3
4
5
SELECT 2*3 AS RESULT;
 result 
--------
      6
(1 row)

/

除(除法操作符不会取整)

计算4除以2返回结果2。

1
2
3
4
5
SELECT 4/2 AS RESULT;
 result 
--------
      2
(1 row)

计算4除以3返回结果1.3333333333333333。

1
2
3
4
5
SELECT 4/3 AS RESULT;
      result      
-------------------
 1.3333333333333333
(1 row)

+/-

正/负

带有负数的运算。

1
2
3
4
5
SELECT -2-5 AS RESULT;
 result 
--------
     -2
(1 row)

%

模(求余)

计算两个数相除后的余数。5除以4的余数,返回结果1。

1
2
3
4
5
SELECT 5%4 AS RESULT;
 result 
--------
      1
(1 row)

@

绝对值

获取-5.0的绝对值。

1
2
3
4
5
SELECT @ -5.0 AS RESULT;
 result 
--------
    5.0
(1 row)

^

幂(指数运算)

MySQL兼容模式下,作用为异或,参见位串函数和操作符章节的操作符“#”。

计算2的3次幂,返回结果8。

1
2
3
4
5
SELECT 2.0^3.0 AS RESULT;
       result       
--------------------
 8.0000000000000000
(1 row)

|/

平方根

计算25的平方根,返回结果5。

1
2
3
4
5
SELECT |/ 25.0 AS RESULT;
 result 
--------
      5
(1 row)

||/

立方根

计算27的立方根,返回结果3。

1
2
3
4
5
SELECT ||/ 27.0 AS RESULT;
 result 
--------
      3
(1 row)

!

阶乘

计算5的阶乘,返回结果120。

1
2
3
4
5
SELECT 5! AS RESULT;
 result 
--------
    120
(1 row)

!!

阶乘(前缀操作符)

计算5的阶乘,返回结果120。

1
2
3
4
5
SELECT !!5 AS RESULT;
 result 
--------
    120
(1 row)

&

二进制AND

对91和15进行按位与( AND)运算,返回结果11。

1
2
3
4
5
SELECT 91&15  AS RESULT;
 result 
--------
     11
(1 row)

|

二进制OR

对32和3进行按位或(OR)运算,返回结果35。

1
2
3
4
5
SELECT 32|3  AS RESULT;
 result 
--------
     35
(1 row)

#

二进制XOR

对17和5进行按位异或(XOR)运算,返回结果20。

1
2
3
4
5
SELECT 17#5  AS RESULT;
 result 
--------
     20
(1 row)

~

二进制NOT

对1进行按位非(NOT)运算,返回结果-2。

1
2
3
4
5
SELECT ~1 AS RESULT;
 result 
--------
     -2
(1 row)

<<

二进制左移

将1的二进制表示(例如,00000001)向左移动4位数后转为十进制,返回结果16。

1
2
3
4
5
SELECT 1<<4 AS RESULT;
 result 
--------
     16
(1 row)

>>

二进制右移

将8的二进制表示(例如,00001000)向右移动2位数后转为十进制,返回结果2。

1
2
3
4
5
SELECT 8>>2 AS RESULT;
 result 
--------
      2
(1 row)