我想将此日期时间格式转换'01/02/2019 12:00:00 AM'
为
'2019-02-01'
格式。
我写了这段代码:
declare @start_date datetime;
declare @end_date datetime;
set @start_date = '01/02/2019 12:00:00 AM';
set @end_date = '28/02/2019 12:00:00 AM';
select *
from test
where [Global Dimension 1 Code] in ('FIN')
and convert(char(10), [Posting Date], 126) between convert(date, convert(char(10), @start_date, 126), 103)
and convert(date, convert(char(10), @end_date, 126), 103)
但我收到一个错误
消息 242,级别 16,状态 3,第 8 行
varchar 数据类型到 datetime 数据类型的转换导致值超出范围。消息 241,级别 16,状态 1,第 10 行
从字符串转换日期和/或时间时转换失败。
但是当我运行如下查询时,它执行时没有错误。
select *
from test
where [Global Dimension 1 Code] in ('FIN')
and convert(char(10), [Posting Date], 126) between convert(date, convert(char(10), '01/02/2019 12:00:00 AM', 126), 103)
and convert(date, convert(char(10), '28/02/2019 12:00:00 AM', 126), 103)
使用 103
SELECT convert(datetime, '01/02/2019 12:00:00 AM', 103)
或者
SELECT convert(char(10), '01/02/2019 12:00:00 AM', 126)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句