在SQL中,函数是执行特定计算或操作的关键工具。这篇笔记主要涵盖了数字处理、日期操作、类型转换以及空值处理,还有CASE语句的使用,这些都是数据库查询和数据分析中的基本要素。
1. **数字函数**:
- `ABS()`:这个函数用于返回一个数值的绝对值,例如`ABS(-5)`将返回5。
- `CEILING()`:它将数字向上舍入到最接近的整数,如果数字已经是整数,则保持不变。
- `FLOOR()`:相反,它会向下舍入到最接近的整数。
- `ROUND()`:用于四舍五入,`ROUND(A,B)`表示将A四舍五入到小数点后B位。
2. **字符串函数**:
- `LEN()`:计算字符串的长度,不包括尾部的空格。
- `LOWER()`和`UPPER()`:分别用于将字符串转换为小写和大写。
- `LTRIM()`和`RTRIM()`:这两个函数分别用于去除字符串左侧和右侧的空格。
- `SUBSTRING()`:从字符串中提取子串,`SUBSTRING(string,start_position,length)`从指定位置开始截取指定长度的字符。
3. **日期函数**:
- `GETDATE()`:获取系统当前的日期和时间。
- `DATEADD()`:用于增加或减少日期,例如`DATEADD(DAY,3,GETDATE())`将得到当前日期后的第三天。
- `DATEDIFF()`:计算两个日期之间的差值,以指定的时间单位(如天、月、年)表示。
- `DATEPART()`:返回日期中的特定部分,如年、月、日、小时等。
4. **类型转换函数**:
- `CAST()`:将一个表达式转换为目标数据类型,如`CAST('123' AS INT)`将字符串转换为整数。
- `CONVERT()`:功能与`CAST()`类似,但提供了更多的格式化选项。
5. **空值处理函数**:
- `ISNULL()`:如果表达式的值是NULL,则返回第二个参数的值,否则返回第一个参数。例如`ISNULL(NULL, '佚名')`将返回'佚名'。
6. **CASE函数**:
- CASE语句允许根据不同的条件返回不同的值,类似于编程语言中的switch-case结构。它可以根据表达式的值匹配相应的WHEN条件,如果没有匹配的条件则执行ELSE部分。
了解和熟练掌握这些函数是SQL查询和报表创建的基础,它们可以帮助我们进行复杂的计算、数据清洗和分析。在实际工作中,结合这些函数,可以编写出满足各种需求的SQL查询,从而更高效地处理和解析数据。