在 SQL 中,有多种高效的数据转换方法。以下是一些常见的数据转换方法:
示例:
-- 使用 CAST() 函数
SELECT CAST(column_name AS new_data_type) FROM table_name;
-- 使用 CONVERT() 函数(针对 SQL Server)
SELECT CONVERT(new_data_type, column_name) FROM table_name;
示例:
-- 提取并转换日期字符串的年份部分
SELECT CAST(LEFT(date_column, 4) AS INTEGER) AS year FROM table_name;
示例:
-- 获取当前日期的年份
SELECT DATEPART(year, GETDATE()) AS current_year;
示例:
-- 将性别转换为 'Male' 或 'Female'
SELECT CASE WHEN gender = 'M' THEN 'Male' ELSE 'Female' END AS gender_text FROM table_name;
示例:
-- 使用 PIVOT 将行数据转换为列数据
SELECT * FROM (
SELECT customer_id, product_id, quantity FROM sales_data
) AS source_table
PIVOT (
SUM(quantity) FOR product_id IN ([1], [2], [3])
) AS pivot_table;
示例:
-- 计算每个部门的员工平均年龄
SELECT department, AVG(age) AS average_age FROM employees
GROUP BY department;
示例:
-- 使用 INNER JOIN 将两个表的数据合并
SELECT e.employee_id, e.name, d.department_name FROM employees e
INNER JOIN departments d ON e.department_id = d.department_id;
根据具体的需求和场景,可以选择适当的数据转换方法。在实际应用中,可能需要结合多种方法来实现复杂的数据转换。