SQL将varchar转换或强制转换为datetime
我有一个表,列SQL将varchar转换或强制转换为datetime,sql,type-conversion,Sql,Type Conversion,我有一个表,列DATEDEPOT为varchar(20) 里面的信息是这样的:20020101-我的意思是YYYYMMDD 我想把它转换成datetime select '20020101' as orignal_date, cast('20020101' as datetime) as converted_date 为此,我检查了其他帖子的答案,但没有任何东西对我有效 以下是我尝试过的: select datedepot, cast(datedepot as datetime)
DATEDEPOT
为varchar(20)
里面的信息是这样的:20020101
-我的意思是YYYYMMDD
我想把它转换成datetime
select '20020101' as orignal_date,
cast('20020101' as datetime) as converted_date
为此,我检查了其他帖子的答案,但没有任何东西对我有效
以下是我尝试过的:
select datedepot, cast(datedepot as datetime) as test from DessinsV2
我得到这个信息:
味精241、Niveau 16、爱达1、利昂1。日期和日期的转换/日期的转换 我试过这个:
declare @Madate char(10)
SELECT @MaDate=datedepot from DessinsV2
select convert(datetime,left(@Madate,4)+substring(@Madate,5,2)+right(@Madate,2))as DATEDEPOTTEST from dessinsv2
我得到:
味精241、Niveau 16、爱达1、利宁1日期和日期的转换/日期的转换
这在你的机器上运行吗
DECLARE @var as nvarchar(20)
SELECT @var = '20020101'
SELECT CONVERT(datetime, @var)
此查询适用于我,但如果我使用格式为“DDMMYYYY”的日期字符串,则不适用
有关datetime的更多信息,请参阅
select '20020101' as orignal_date,
cast('20020101' as datetime) as converted_date
这对我来说很好,请检查。您必须为转换函数指定日期输入格式,如:
选择datedepot,转换(datetime,datedepot,112)作为来自DessinsV2的测试
请参阅:了解更多格式。感谢大家的帮助
我的查询很好,但我对“分组依据”进行了查询,发现了一些不规则的内容,如特殊字符或特殊数字。这些信息无法转换
因此,我忽略了包含奇怪信息的行,我的查询工作正常。您使用哪个数据库?这个问题需要(需要)一个SQL引擎标记(MySQL、PostgreSQL等),但尽管请求澄清,但没有提供一个。我将尝试标记这一个为缺乏一个现在,但如果它是关闭的,它肯定可以重新打开后编辑。