首页 > 解决方案 > 将字符串数据类型日期值转换为日期格式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 有效,但可以通过转换/强制转换吗?

标签: sql-serversql-server-2008-r2

解决方案


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

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

这是你要找的东西吗?


推荐阅读