将字符串转换为日期。 SQL

时间:2015-01-04 21:53:18

标签: sql sql-server tsql date

我的表格列为COL1(char 23),其中包含完整日期,例如'2007-11-13 12:34:49:012'。现在我想把我的约会时间更改为'2007-11-12 59:59:59:999'(前一天的最后一刻)。 为什么转换参数不起作用?我的问题:

convert(varchar(10),convert(date,DateAdd(day,-1,COL1),121)) + ' 23:59:59:999'

DateAdd(day,-1,COL1)

我得到:“2007年11月12日”,这是我的问题。 最后我得到:“Nov 12 200 23:59:59:999”

3 个答案:

答案 0 :(得分:0)

这个怎么样?

select dateadd(millisecond, -1, dateadd(day, 1, cast(left(col1, 10) as datetime)))

答案 1 :(得分:0)

Varchar(10)对数据try varchar(11)的安静时间不够长

答案 2 :(得分:0)

试试这个:

select cast(dateadd(ms, -1, cast(convert(varchar(8), cast(col1 as datetime), 112) as datetime2)) as varchar(23))
相关问题