将字符串转换为sql中的日期

问题描述 投票:0回答:1

我如何转换它:

DECLARE @FromDate varchar = 'Feb 2020'

迄今这样

DD/MM/YYYY or DDMMYYYY

我需要对一些日期进行排序,您可以从组合框中选择以下三个日期:Dez 2019、2020年1月或2020年2月。所以我认为我可以做这样的事情:

DECLARE @FromDate varchar = 'Feb 2020';


SELECT RIGHT(convert(varchar, CONVERT(date, CONVERT(varchar, PIN_DATE)), 106),8)
FROM PINVOICE
WHERE RIGHT(CONVERT(varchar, CONVERT(date, CONVERT(varchar, PIN_DATE)), 106),8) 
= CONVERT(datetime, @FromDate,106)

[PIN_DATE中的日期看起来像这样:YYYYMMDD又名。 20201231

sql sql-server string datetime
1个回答
0
投票

这是一个错误:

DECLARE @FromDate varchar = 'Feb 2020'

[这将@FromDate分配为一个字符,因此值为'F'

[在SQL Server中使用字符类型时,总是使用长度:

DECLARE @FromDate varchar(255) = 'Feb 2020'

0
投票

您可以使用str_to date

 str_to_date('Feb 2020', '%M-%Y') 
© www.soinside.com 2019 - 2024. All rights reserved.