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

在sql中将字符串转换为日期,sql,sql-server,string,datetime,Sql,Sql Server,String,Datetime,如何将其转换为: DECLARE @FromDate varchar = 'Feb 2020' 像这样的约会 DD/MM/YYYY or DDMMYYYY 我需要对一些日期进行排序,您可以从组合框中选择这三个日期:2019年迪兹、2020年1月或2020年2月。 所以我想我可以这样做: DECLARE @FromDate varchar = 'Feb 2020'; SELECT RIGHT(convert(varchar, CONVERT(date, CONVERT(varchar, P

如何将其转换为:

DECLARE @FromDate varchar = 'Feb 2020'
像这样的约会

DD/MM/YYYY or DDMMYYYY
我需要对一些日期进行排序,您可以从组合框中选择这三个日期:2019年迪兹、2020年1月或2020年2月。 所以我想我可以这样做:

DECLARE @FromDate varchar = 'Feb 2020';


SELECT RIGHT(convert(varchar, CONVERT(date, CONVERT(varchar, PIN_DATE)), 106),8)
FROM PIN
WHERE RIGHT(CONVERT(varchar, CONVERT(date, CONVERT(varchar, PIN_DATE)), 106),8) 
= CONVERT(datetime, @FromDate,106)
PIN_date中的日期如下所示:YYYYMMDD aka。20201231这是一个错误:

DECLARE @FromDate varchar = 'Feb 2020'
这将
@FromDate
指定为单个字符,因此值为
'F'

在SQL Server中使用字符类型时,请始终使用长度:

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

“2020年2月”不是一个日期,所以这是一个更大的问题。在开始编码之前,首先定义转换过程中希望对日部分使用的逻辑。