繁体   English   中英

从字符串转换日期和/或时间时,故障排除转换失败

[英]Troubleshoot conversion failed when converting date and /or time from character string

我知道这个问题已经解决了1000次了,但是有些棘手的事情正在进行中,因此我需要一些想法方面的帮助来进行故障排除。

使用MS SQL Server 2012,我有一个以YYYYMMDD格式存储为INT的日期。

我需要将其转换为日期,并且始终使用它:CONVERT(DATE,CONVERT(VARCHAR,YYYYMMDD),101)*我知道未指定varchar的长度是错误的格式,但是我在哪里进行此操作从未引起过一个问题,只是为了彻底,我还是尝试了一下都无济于事。

该转换始终有效。 一直到今天。

今天,这种转换无法正常进行,我在标题中遇到了上述错误。

我要做的一件事是运行查询的一部分以查看值,以确保我在值中没有发现像这样的愚蠢的东西:

   20170102
   20170304
-->2017ABCD
   20170704

我还可以做些什么?

扩大我的最初评论

Declare @YourTable table (SomeCol varchar(25))
Insert Into @YourTable values
('20170102'),
('20170304'),
('2017ABCD'),
('20170704')

Select SomeCol
      ,AsDate  = try_convert(date,SomeCol)
 From  @YourTable

退货

SomeCol     AsDate
20170102    2017-01-02
20170304    2017-03-04
2017ABCD    NULL
20170704    2017-07-04

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM