📅  最后修改于: 2023-12-03 14:44:31.621000             🧑  作者: Mango
MySQL是一种流行的关系型数据库管理系统,提供了各种内置函数来处理和操作数据。本文介绍了MySQL中一些常用的函数。
CONCAT函数用于连接两个或多个字符串,并返回一个新字符串。
CONCAT(string1, string2, ...)
例如,将名和姓连接在一起:
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM customers;
SUBSTRING函数用于返回给定字符串的一个子字符串。第一个参数是被裁剪的字符串,第二个参数是从哪个位置开始,第三个参数是子字符串的长度。
SUBSTRING(string, position, length)
例如,从地址中提取城市:
SELECT SUBSTRING(address, LOCATE(',', address) + 1) AS city
FROM customers;
LENGTH函数返回给定字符串的长度。
LENGTH(string)
例如,计算邮政编码的长度:
SELECT LENGTH(postal_code) AS length
FROM customers;
UPPER函数将给定字符串转换为大写,LOWER函数将给定字符串转换为小写。
UPPER(string)
LOWER(string)
例如,将电子邮件地址转换为小写:
SELECT LOWER(email) AS email
FROM customers;
ABS函数返回给定数的绝对值。
ABS(number)
例如,计算订单总价的绝对值:
SELECT ABS(total_price) AS abs_total_price
FROM orders;
ROUND函数四舍五入给定数到指定精度。第一个参数是被舍入的数字,第二个参数是精度。
ROUND(number, precision)
例如,将平均销售额舍入到两个小数位:
SELECT ROUND(AVG(sales), 2) AS avg_sales
FROM sales_data;
FLOOR函数将给定数向下舍入到最接近的整数,CEILING函数将给定数向上舍入到最接近的整数。
FLOOR(number)
CEILING(number)
例如,将平均销售额向下舍入到最接近的整数:
SELECT FLOOR(AVG(sales)) AS avg_sales
FROM sales_data;
NOW函数返回当前日期和时间。
NOW()
例如,获取当前日期:
SELECT DATE(NOW()) AS current_date
FROM sales_data;
DATE_FORMAT函数将日期格式化为指定的格式。第一个参数是日期,第二个参数是格式化字符串。
DATE_FORMAT(date, format)
例如,将日期格式化为年月日格式:
SELECT DATE_FORMAT(order_date, '%Y-%m-%d') AS formatted_date
FROM orders;
DATEDIFF函数计算两个日期之间的天数差。
DATEDIFF(date1, date2)
例如,计算两个日期之间的天数差:
SELECT DATEDIFF('2022-01-01', '2021-12-01') AS days_diff
FROM sales_data;
LOAD_FILE函数从指定的文件中读取内容。
LOAD_FILE(file_path)
例如,读取名为customer_info.txt的文件:
SELECT LOAD_FILE('customer_info.txt') AS customer_info
FROM sales_data;
INTO OUTFILE函数将查询结果写入指定的文件。
SELECT ... INTO OUTFILE file_path
例如,将查询结果保存到名为sales_report.csv的文件中:
SELECT *
FROM sales_data
INTO OUTFILE 'sales_report.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
这将创建一个逗号分隔的CSV文件,其中每个字段都用双引号括起来,每行以换行符结尾。