表定义:
CREATE TABLE [dbo].[Test]
(
[MonthYear] [NVARCHAR](8) NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
当前数据:
预期结果:
我试过这个查询:
SELECT
MonthYear,
CONVERT(VARCHAR(9), '01-' + MonthYear, 106) AS ConvertedDate
FROM
dbo.Test
ORDER BY
ConvertedDate
Run Code Online (Sandbox Code Playgroud)
此查询的结果:
你似乎想要:
SELECT MonthYear,
CONVERT(DATE, '01-' + MonthYear) as ConvertedDate
FROM dbo.Test
ORDER BY ConvertedDate;
Run Code Online (Sandbox Code Playgroud)
SQL Server 非常擅长将字符串转换为没有格式的日期。
注意:您不需要在 中包含转换SELECT,因此:
SELECT MonthYear
FROM dbo.Test
ORDER BY CONVERT(DATE, '01-' + MonthYear);
Run Code Online (Sandbox Code Playgroud)
或者,您甚至可以将其添加到表中:
ALTER TABLE Test
ADD MonthYear_date as (CONVERT(DATE, '01-' + MonthYear));
Run Code Online (Sandbox Code Playgroud)
然后,您可以MonthYear_date像使用表中的任何其他列一样使用。
| 归档时间: |
|
| 查看次数: |
538 次 |
| 最近记录: |