如何使用 PATINDEX 将 SQL 中的日期 15-May-2019 转换为 2019/05/15
How to convert a date 15-May-2019 in SQL to 2019/05/15 using PATINDEX
我需要转换 SQL 中的日期。日期是 15-May-2019
,它应该显示为 2019/05/15
。
这是我目前的代码
CASE WHEN WHEN LEN(AgeGroup) > 1 THEN PATINDEX ('%[A-Z]%', date)
我不太确定如何使用 Patindex
。有人可以帮我解决这个问题吗?
我建议只转换为 date
数据类型:
select try_convert(date, '15-May-2019')
如果你想用斜线,你可以生成一个字符串:
select replace(convert(varchar(10), try_convert(date, '15-May-2019'), 120), '-', '/')
使用下面的代码,其他格式可以参考linkhttps://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/
SELECT CONVERT(varchar,(cast('15-may-2019' as date)), 111)
PATINDEX
有点矫枉过正。
尝试:
SELECT FORMAT(
TRY_PARSE('15-May-2019' AS DATE USING 'en-US')
, 'yyyy/MM/dd')
TRY_PARSE
使用 English
文化将字符串解析为 DATE。
FORMAT
就是精确控制输出
我需要转换 SQL 中的日期。日期是 15-May-2019
,它应该显示为 2019/05/15
。
这是我目前的代码
CASE WHEN WHEN LEN(AgeGroup) > 1 THEN PATINDEX ('%[A-Z]%', date)
我不太确定如何使用 Patindex
。有人可以帮我解决这个问题吗?
我建议只转换为 date
数据类型:
select try_convert(date, '15-May-2019')
如果你想用斜线,你可以生成一个字符串:
select replace(convert(varchar(10), try_convert(date, '15-May-2019'), 120), '-', '/')
使用下面的代码,其他格式可以参考linkhttps://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/
SELECT CONVERT(varchar,(cast('15-may-2019' as date)), 111)
PATINDEX
有点矫枉过正。
尝试:
SELECT FORMAT(
TRY_PARSE('15-May-2019' AS DATE USING 'en-US')
, 'yyyy/MM/dd')
TRY_PARSE
使用English
文化将字符串解析为 DATE。FORMAT
就是精确控制输出