从varchar转换为SQL Server中的日期

moe*_*moe 3 sql t-sql sql-server sql-server-2012

这看起来很容易解决,但我似乎无法弄清楚为什么这对我不起作用.我有一个列有这样的数据:

DateField
----------
12/16/2016
11/06/2016
Run Code Online (Sandbox Code Playgroud)

我想要做的就是转换varchar成一date列,但我收到此错误:

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

这是我的简单查询:

select convert (date, DateField) as convertedField 
from myTable
Run Code Online (Sandbox Code Playgroud)

Pரத*_*ீப் 10

你给出的两个例子没有错.您的表中有一些不良日期无法转换为日期.

使用TRY_CONVERT函数返回错误的日期NULL

select TRY_Convert(date,DateField)
From myTable
Run Code Online (Sandbox Code Playgroud)

您应该始终以DATE/DATETIME数据类型存储日期.

如果要查看无法转换为日期的记录

select DateField
From myTable
Where TRY_Convert(date,DateField) IS NULL
Run Code Online (Sandbox Code Playgroud)