如何在Azure数据库中将YYYY-MM-DD转为完整月份名的日期格式
解决Azure SQL日期格式转换问题
要将2004-01-05格式的日期转换为January 1, 2004格式,你可以用以下两种方法实现:
方法一:使用DATENAME拼接(性能更优)
通过DATENAME获取完整月份名称,结合DAY和YEAR函数提取日期和年份,再拼接成目标格式:
SELECT DATENAME(month, start_date) + ' ' + CAST(DAY(start_date) AS VARCHAR) + ', ' + CAST(YEAR(start_date) AS VARCHAR) AS formatted_date FROM trial_program
DATENAME(month, start_date):返回完整的月份名称(如January)DAY(start_date):返回不带前导零的日期数字(如1而非01)- 转换为
VARCHAR后拼接,得到符合要求的格式
方法二:使用FORMAT函数(写法更简洁)
Azure SQL支持FORMAT函数,直接通过格式字符串指定输出样式:
SELECT FORMAT(start_date, 'MMMM d, yyyy') AS formatted_date FROM trial_program
MMMM:表示完整月份名称d:表示不带前导零的日期yyyy:表示4位年份
注意:FORMAT函数的性能略低于拼接方法,如果处理超大规模数据,优先选择第一种方法。
内容的提问来源于stack exchange,提问作者Castaspella
相关产品推荐
相关产品推荐

