更多数学函数

SQL Server 中级

Ginger Grant

Instructor

绝对值

使用 ABS() 返回非负值

ABS(number)
SQL Server 中级

在 T-SQL 中使用 ABS(I)

SELECT ABS(-2.77), ABS(3), ABS(-2)
+--------------------+-------------------+-------------------+
|(No column name)    |(No column name)   |(No column name)   |
+--------------------+-------------------+-------------------+
|2.77                |3                  |2                  |
+--------------------+-------------------+-------------------+

SQL Server 中级

在 T-SQL 中使用 ABS(II)

SELECT DurationSeconds, ABS(DurationSeconds) AS AbsSeconds 
FROM Incidents
+--------------------+--------------------+ 
|DurationSeconds     |AbsSeconds          | 
+--------------------+--------------------+ 
|-25.36              |25.36               | 
|-258482.44          |258482.44           |
|45.66               |45.66               |
+--------------------+--------------------+ 
SQL Server 中级

T-SQL 中的平方与平方根

SELECT SQRT(9) AS Sqrt, 
       SQUARE(9) AS Square
+--------+-----------+ 
|Sqrt    |Square     |
+--------------------+
|3       |81         |
+--------+-----------+

SQL Server 中级

对数

  • LOG() 返回自然对数
  • 可选设置底数,未设置时为 2.718281828

 

LOG(number [,Base])
SQL Server 中级

在 T-SQL 中计算对数

SELECT  DurationSeconds, LOG(DurationSeconds, 10) AS LogSeconds
FROM Incidents
+--------------------+--------------------+  
|DurationSeconds     |LogSeconds          |
+--------------------+--------------------+  
|37800               |4.577491799837225   |
|5                   |0.6989700043360187  |
|20                  |1.301029995663981   |
...
+--------------------+--------------------+  
SQL Server 中级

0 的对数

不能对 0 取对数,否则会报错

SELECT LOG(0, 10)

An invalid floating point operation occurred.
SQL Server 中级

让我们练习吧!

SQL Server 中级

Preparing Video For Download...