如何在SQL中从Date类型数据提取字符串格式的月份
提取月份三字母缩写的实现方案
你可以使用数据库内置的日期处理函数直接提取目标格式的月份字符串,不同主流数据库的语法如下:
- Oracle 数据库
用TO_CHAR函数指定格式符MON即可:SELECT TO_CHAR(orderDate, 'MON') AS month_abbr FROM orders; - MySQL 数据库
用DATE_FORMAT函数指定格式符%b:SELECT DATE_FORMAT(orderDate, '%b') AS month_abbr FROM orders; - SQL Server 数据库
用FORMAT函数指定格式符MMM:SELECT FORMAT(orderDate, 'MMM') AS month_abbr FROM orders; - PostgreSQL 数据库
用TO_CHAR函数指定格式符Mon:SELECT TO_CHAR(orderDate, 'Mon') AS month_abbr FROM orders;
如果你的orderDate字段是字符串类型而非日期类型,也可以根据固定的字符串位置直接截取:
-- 以MySQL为例,不同数据库截取函数语法略有差异 SELECT SUBSTRING(orderDate, 4, 3) AS month_abbr FROM orders;
提示:更推荐先将字符串字段转为日期类型再做提取,避免字符串格式不一致导致的异常。
内容的提问来源于stack exchange,提问作者Nirodha Wickramarathna
相关产品推荐
相关产品推荐

