数学函数

在 SQL Server 中使用函数处理数据

Ana Voicu

Data Engineer

ABS(numeric_expression)

  • 返回表达式的绝对值。
  • 为该表达式的非负值。
SELECT 
    ABS(-50.4 *3) AS negative,
    ABS(0.0) AS zero,
    ABS(73.2 + 15 + 8.4) AS positive;
| negative | zero | positive |
|----------|------|----------|
| 151.2    | 0    | 96.6     |
在 SQL Server 中使用函数处理数据

SIGN(numeric_expression)

  • 返回表达式的符号,整数表示:
    • -1(负数)
    • 0
    • +1(正数)
SELECT 
    SIGN(-50.4 *3) AS negative,
    SIGN(0.0) AS zero,
    SIGN(73.2 + 15 + 8.4) AS positive;
| negative | zero | positive |
|----------|------|----------|
| -1.0     | 0    | 1.0      |
在 SQL Server 中使用函数处理数据

取整函数

  • CEILING(numeric_expression)
    • 返回不小于表达式的最小整数。
  • FLOOR(numeric_expression)
    • 返回不大于表达式的最大整数。
  • ROUND(numeric_expression, length)
    • 返回按指定位数四舍五入的数值。
在 SQL Server 中使用函数处理数据

取整函数示例

SELECT 
    CEILING(-50.49) AS ceiling_neg,
    CEILING(73.71) AS ceiling_pos;

| ceiling_neg | ceiling_pos | 
|-------------|-------------|
| -50         | 74          | 

在 SQL Server 中使用函数处理数据

取整函数示例

SELECT 
    CEILING(-50.49) AS ceiling_neg,    
    FLOOR(-50.49) AS floor_neg,
    CEILING(73.71) AS ceiling_pos,
    FLOOR(73.71) AS floor_pos;

| ceiling_neg | floor_neg | ceiling_pos | floor_pos | 
|-------------|-----------|-------------|-----------|
| -50         | -51       | 74          | 73        | 

在 SQL Server 中使用函数处理数据

取整函数示例

SELECT 
    CEILING(-50.49) AS ceiling_neg,    
    FLOOR(-50.49) AS floor_neg,
    CEILING(73.71) AS ceiling_pos,
    FLOOR(73.71) AS floor_pos,
    ROUND(-50.493, 1)AS round_neg,
    ROUND(73.715, 2) AS round_pos;
| ceiling_neg | floor_neg | ceiling_pos | floor_pos | round_neg | round_pos |
|-------------|-----------|-------------|-----------|-----------|-----------|
| -50         | -51       | 74          | 73        | -50.500   | 73.720    |
在 SQL Server 中使用函数处理数据

指数函数

  • POWER(numeric_expression, power)
    • 返回表达式的指定次幂。
  • SQUARE(numeric_expression)
    • 返回表达式的平方。
  • SQRT(numeric_expression)
    • 返回表达式的平方根。
  • 注意:表达式类型为float或可隐式转换为float
在 SQL Server 中使用函数处理数据

POWER() 示例

SELECT   
POWER(2, 10)  AS pos_num,
POWER(-2, 10) AS neg_num_even_pow,
POWER(-2, 11) AS neg_num_odd_power,
POWER(2.5, 2) AS float_num,
POWER(2, 2.72) AS float_pow;
| pos_num | neg_num_even_pow | neg_num_odd_pow | float_num | float_pow |
|---------|------------------|-----------------|-----------|-----------|
| 1024    | 1024             | -2048           | 6.3       | 6         |
在 SQL Server 中使用函数处理数据

SQUARE() 示例

SELECT   
SQUARE(2)  AS pos_num,
SQUARE(-2) AS neg_num,
SQUARE(2.5) AS float_num;
| pos_num | neg_num | float_num |
|---------|---------|-----------|
| 4       | 4       | 6.25      |
在 SQL Server 中使用函数处理数据

SQRT() 示例

SELECT   
SQRT(2)  AS int_num,
SQRT(2.76) AS float_num;
| int_num         | float_num        |
|-----------------|------------------|
| 1.4142135623731 | 1.66132477258361 |
在 SQL Server 中使用函数处理数据

Passons à la pratique !

在 SQL Server 中使用函数处理数据

Preparing Video For Download...