【发布时间】:2021-06-10 12:30:03
【问题描述】:
最近我在使用日期格式时遇到了一个问题。在下表中,我有以下日期,这些日期是在 microsoft SQL Server management studio 2014 中查询时获得的
select [Month Ending Date] from drug_practise
dates
12/1/2016
11/1/2016
10/1/2016
9/1/2016
8/1/2016
但我需要将这些日期转换成正确的格式,例如 YYYY-mm-dd,所以我使用了以下代码:-
select convert(date,[Month Ending Date],103) from drug_practise
但它会引发如下错误:-
Msg 241, Level 16, State 1, Line 3
Conversion failed when converting date and/or time from character string.
任何人都可以帮助我如何处理日期并避免此类错误?
【问题讨论】:
-
在提供示例日期时,包含该月 12 日之后的日期会很有用。这似乎非常明显,但需要不时重复。
-
我很确定这个问题已经得到解答。你试过mysqltutorial.org/mysql-str_to_date 吗?
-
日期没有格式。日期的可视化表示。将日期存储为适当的日期或日期时间列,让可视层关心格式,让数据库关心数据存储和查询。
-
小提琴应该适用于任何人。您是说小提琴在运行时会产生错误吗?但它显然不适用于您的实际表,因为 - 正如我所说 - 您有无法转换的值。这就是为什么您不应该将日期存储为字符串的原因。如果您要导入此数据,请更改您的表格和导入过程。如果问题出在源数据上(看起来可能是这样),那么您需要与您的同事、老板、客户讨论如何处理存在这些问题的行。
标签: sql-server date