sql - 如何按非字母顺序获取月份名称
问题描述
请找到下面的小提琴有一个表格,我正在将行转换为列
https://dbfiddle.uk/?rdbms=sqlserver_2012&fiddle=7c8223ca9a517e4a959f0ecfb2c0e39d
A B C December February January
100 ABC OL 100 290 200
100 DEF OL 260 360 300
200 ABC OL 500 550 600
200 DEF OL 570 680 600
但我没有像 12 月、1 月和 2 月那样按顺序排列月份,怎么能做到这一点?
解决方案
您可以将月份名称转换为日期和顺序:
set @col_list = (select quotename([D])+','
from t1
group by d
order by cast(d + ' 01, 2000' as date)
for xml path('')
);
这是 db<>fiddle。
推荐阅读
- reactjs - 组件重新渲染后无法使用 useState 挂钩更新 varaibale
- powershell - Powershell Rename-Item:路径中的非法字符
- python - 计划的爬虫(基于无头硒)运行后的僵尸火狐和 geckodriver 进程
- javascript - 连接MongoDB时的认证错误
- java - 初始化 JavaFX 运行时的 Oracle DataModeler 问题
- java - 我怎样才能使选择升序和降序问题的错误证明?
- java - 垂直滚动条没有出现
- pandas - 仅对具有特定列值的行求和
- c# - SerializeException : 试图反序列化一个空流错误
- react-native - Algolia 和 React Native FlatList ListHeaderComponent