将字符串数据类型日期值转换为日期格式dd-mm-yyyy

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将字符串数据类型日期值转换为日期格式dd-mm-yyyy相关的知识,希望对你有一定的参考价值。

这是要转换的给定值:

DECLARE @Dt VARCHAR(20) = '16-12-1997 00:00:00'

我想转换成:16-12-1997

尝试#1:

SELECT CAST(@Dt AS DATE)

错误:

从字符串转换日期和/或时间时转换失败。

尝试#2:

SELECT CONVERT(VARCHAR(20), @Dt, 105)

结果:

16-12-1997 00:00:00 

尝试#3:

SELECT LEFT(@Dt, 10)

尝试#3有效,但是可以通过转换/强制转换吗?

答案

这可以通过以下方式完成:

DECLARE @Dt VARCHAR(20) = '16-12-1997 00:00:00'
SELECT CONVERT(varchar(10), @Dt);

这是你要找的东西吗?

另一答案

另一种方法是,如果日期无效并且仅允许真正的日期,则会出错

DECLARE @Dt VARCHAR(20) = '16-12-1997 00:00:00'
SELECT format(CONVERT(DATE, @Dt,105),'dd-MM-yyyy');

以上是关于将字符串数据类型日期值转换为日期格式dd-mm-yyyy的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Pandas 数据框中的字符串转换为“日期”数据类型?

如何将所有日期格式转换为日期列的时间戳?

如何将包含日期的 varchar 字段类型转换为正确的日期格式

如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?

字符串值到日期格式的液体转换

sql如何将字符串转为日期