sql server语言 - 将字符串转换为日期时间2



我正在尝试转换

@string='25/05/2016 09:00' 

2016-05-25 09:00 .

@string@string2='25/05/2016'@string3='09:00'的串联

当我尝试使用

执行此操作时
CONVERT(datetime, '25/05/2016 09:00') 

我得到以下错误

将varchar数据类型转换为日期时间数据类型导致值超出范围。

请帮忙,谢谢。

试试这个:

SELECT CONVERT(datetime2, '25/05/2016 09:00', 103) 

convert方法有3个参数:第一个是目标数据类型,第二个是要转换的表达式,第三个是样式。在本例中,103代表英国或法国日期格式,即dd/mm/yyyy

Declare @string char(10)='25/05/2016'
Declare @string2 char(5)='09:00'
SELECT CONVERT(datetime2, @string + ' ' + @string2, 103) 

Result: 2016-05-25 09:00:00.0000000 (datetime2)

感谢marc_s把我的查询格式正确。

我试了一下,得到了预期的结果,请告知是否有其他最佳方法,谢谢

`Declare @string varchar(20)='25/05/2016'
 Declare @string2 varchar(20)='09:00'
 Declare @string3 Varchar(20)=(SELECT Right(@string,4)+'-'+SUBSTRING(@string,4,2)+'-'+LEFT(@string,2)+' '+@string2)
 Select CONVERT(datetime,@string3) as _datetime`

add this statement before convert

SET DATEFORMAT DMY

so query看起来像这样

SET DATEFORMAT DMY
SELECT CONVERT(datetime, '25/05/2016 09:00') 

相关内容

  • 没有找到相关文章

最新更新