一個可能的選擇是在ORDER BY
CREATE TABLE Table1
([SaleDate] varchar(10))
;
INSERT INTO Table1
([SaleDate])
VALUES
('Jan 14'),
('Feb 14'),
('Mar 14'),
('Nov 13'),
('Dec 13');
select * from table1
Order by
cast(substring(saledate,5,2) as int),
case
when substring(saledate,1,3)='Jan' then 1
when substring(saledate,1,3)='Feb' then 2
when substring(saledate,1,3)='Mar' then 3
when substring(saledate,1,3)='Apr' then 4
when substring(saledate,1,3)='May' then 5
when substring(saledate,1,3)='Jun' then 6
when substring(saledate,1,3)='Jul' then 7
when substring(saledate,1,3)='Aug' then 8
when substring(saledate,1,3)='Sep' then 9
when substring(saledate,1,3)='Oct' then 10
when substring(saledate,1,3)='Nov' then 11
when substring(saledate,1,3)='Dec' then 12
end
請出示您使用格式化SQL和表模式 – Tanner
明顯要做的事情就是停止存儲日期爲字符串。 SQL Server有幾種體面的數據類型用於處理日期。字符串類型不在該集合中。 –
選擇權(CONVERT(varchar(10),getdate(),6),6) –