T-SQL字符串到日期时间的转换
我需要将以下格式的字符串值转换为DateTime:T-SQL字符串到日期时间的转换,sql,tsql,sql-server-2008-r2,Sql,Tsql,Sql Server 2008 R2,我需要将以下格式的字符串值转换为DateTime: 2042-04 2011-01 有没有一个简单的方法可以做到这一点?我试过CAST和CONVERT,运气不好 谢谢 尝试在其末尾附加“-01”,然后进行转换或转换尝试在其末尾附加“-01”,然后进行转换或转换 declare @S varchar(7) set @S = '2042-04' select cast(stuff(@S, 5, 1, '')+'01' as datetime) YYYYMMDD是一种安全的格式,无论使用何种格式
2042-04
2011-01
有没有一个简单的方法可以做到这一点?我试过CAST
和CONVERT
,运气不好
谢谢 尝试在其末尾附加“-01”,然后进行转换或转换尝试在其末尾附加“-01”,然后进行转换或转换
declare @S varchar(7)
set @S = '2042-04'
select cast(stuff(@S, 5, 1, '')+'01' as datetime)
YYYYMMDD是一种安全的格式,无论使用何种格式。YYYY-MM-DD不是
YYYYMMDD是一种安全的格式,无论使用何种格式。YYYY-MM-DD不是
似乎需要在字符串中添加一个“天”
Declare @Table Table
(
ColDateTime Varchar(100)
)
Insert into @Table
Select '2042-04' UNION ALL
Select '2011-01'
Select ColDateTime As VarcharCol,
Cast(
substring(ColDateTime,0,charindex('-',ColDateTime))+substring(ColDateTime,charindex('-',ColDateTime)+1,len(ColDateTime))+'01'
As DateTime) As DateTimeCol
from @Table
似乎需要在字符串中添加一个“天”
Declare @Table Table
(
ColDateTime Varchar(100)
)
Insert into @Table
Select '2042-04' UNION ALL
Select '2011-01'
Select ColDateTime As VarcharCol,
Cast(
substring(ColDateTime,0,charindex('-',ColDateTime))+substring(ColDateTime,charindex('-',ColDateTime)+1,len(ColDateTime))+'01'
As DateTime) As DateTimeCol
from @Table