字符,日期函数
字符函数
CONCAT
==java中的+号==
描述用于连接多个字符串。
语法`CONCAT(string1, string2, ...)
示例:
SELECT CONCAT('Hello', ' ', 'World') AS greeting; -- 返回 'Hello World'
UPPER
描述将字符串转换为大写。
语法`UPPER(string)`
示例:
SELECT UPPER('hello') AS upper_case; -- 返回 'HELLO'
##### LOWER
- 描述将字符串转换为小写。
- 语法`LOWER(string)`
- 示例:
```sql
SELECT LOWER('HELLO') AS lower_case; -- 返回 'hello'
```
##### LENGTH
- 描述返回字符串的长度。
- 语法`LENGTH(string)`
- 示例:
```sql
SELECT LENGTH('hello') AS string_length; -- 返回 5
```
##### SUBSTRING
- 描述提取字符串的子字符串。
- 语法`SUBSTRING(string, start, length)`
- 示例:
```sql
SELECT SUBSTRING('Hello World', 1, 5) AS sub_string; -- 返回 'Hello'
```
##### REPLACE
- 描述替换字符串中的子字符串。
- 语法`REPLACE(string, old_substring, new_substring)`
- 示例:
```sql
SELECT REPLACE('Hello World', 'World', 'SQL') AS replaced_string; -- 返回 'Hello SQL'
```
##### TRIM
- 描述去除字符串两端的空格。
- 语法`TRIM(string)`
- 示例:
```sql
SELECT TRIM(' Hello ') AS trimmed_string; -- 返回 'Hello'
```
## 日期函数
##### CURDATE
- 描述返回当前日期。
- 语法`CURDATE()`
- 示例:
```sql
SELECT CURDATE() AS current_date; -- 返回当前日期
```
##### DATEDIFF
- 描述计算两个日期之间的天数差。
- 语法`DATEDIFF(date1, date2)`
- 示例:
```sql
SELECT DATEDIFF(CURDATE(), '2023-01-01') AS days_difference; -- 返回从 2023-01-01 到今天的天数
```
##### YEAR
- 描述提取日期中的年份。
- 语法`YEAR(date)`
- 示例:
```sql
SELECT YEAR('2023-01-01') AS year; -- 返回 2023
```
##### MONTH
- 描述提取日期中的月份。
- 语法`MONTH(date)`
- 示例:
```sql
SELECT MONTH('2023-01-01') AS month; -- 返回 1
```
##### DAY
- 描述提取日期中的天。
- 语法`DAY(date)`
- 示例:
```sql
SELECT DAY('2023-01-01') AS day; -- 返回 1
```
##### NOW
- 描述返回当前日期和时间。
- 语法`NOW()`
- 示例:
```sql
SELECT NOW() AS current_datetime; -- 返回当前的日期和时间
```
##### CURTIME
- 描述返回当前时间。
- 语法`CURTIME()`
- 示例:
```sql
SELECT CURTIME() AS current_time; -- 返回当前时间
```
##### DATE_ADD
- 描述在日期上加上一个时间间隔。
- 语法`DATE_ADD(date, INTERVAL value unit)`
- 示例:
```sql
SELECT DATE_ADD('2023-01-01', INTERVAL 1 YEAR) AS next_year; -- 返回 '2024-01-01'
```
##### DATE_SUB
- 描述从日期中减去一个时间间隔。
- 语法`DATE_SUB(date, INTERVAL value unit)`
- 示例:
```sql
SELECT DATE_SUB('2023-01-01', INTERVAL 1 MONTH) AS last_month; -- 返回 '2022-12-01'
```
## 案例
```sql
CREATE TABLE emp (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
salary DECIMAL(10, 2),
hire DATE,
dept VARCHAR(50)
);