将String转换为Datetime2

Avi*_*ash 3 t-sql sql-server datetime

我想转换

@string='25/05/2016 09:00' 
Run Code Online (Sandbox Code Playgroud)

2016-05-25 09:00.

@string@string2='25/05/2016'和的连接@string3='09:00'

当我尝试使用时

CONVERT(datetime, '25/05/2016 09:00') 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

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

请帮忙,谢谢.

Zoh*_*led 8

试试这个:

SELECT CONVERT(datetime2, '25/05/2016 09:00', 103) 
Run Code Online (Sandbox Code Playgroud)

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) 
Run Code Online (Sandbox Code Playgroud)

结果:2016-05-25 09:00:00.0000000(datetime2)

  • 可以在此处找到日期格式代码的完整列表:https://docs.microsoft.com/en-us/sql/t-sql/functions/cast-and-convert-transact-sql?view=sql-server-ver15 (2认同)