Tsql 截止日期(截止字符(EVT完成,年月日和年月日和年月日);更正完成日期“;

Tsql 截止日期(截止字符(EVT完成,年月日和年月日和年月日);更正完成日期“;,tsql,plsql,Tsql,Plsql,我目前必须将下面的语句从oracle转换为TSQL to_date(to_char(EVT_COMPLETED, 'dd/mm/yyyy'),'dd/mm/yyyy') as "Corrected Completion Date" 有人能在这方面帮助我吗?希望这有帮助: DECLARE @date datetime = '2009-05-11 09:40:00.0' SELECT @date , CONVERT(varchar,@date,110 ) , CONVERT(varchar,@d

我目前必须将下面的语句从oracle转换为TSQL

to_date(to_char(EVT_COMPLETED, 'dd/mm/yyyy'),'dd/mm/yyyy') as "Corrected Completion Date"
有人能在这方面帮助我吗?希望这有帮助:

DECLARE @date datetime = '2009-05-11 09:40:00.0'

SELECT @date , CONVERT(varchar,@date,110 ) , CONVERT(varchar,@date,101 ) , CONVERT(date,@date,110 ) , CONVERT(date,@date,101 ), CONVERT(date,CONVERT(varchar,@date,110 ),110 ) , CONVERT(date,CONVERT(varchar,@date,101 ),101 ) 
结果:

但是,数据类型date的显示方式将不同,如上面的查询所示。因此,在向用户显示数据时,需要将其转换为varchar。更多信息

试试这个

DECLARE @date datetime = '2009-05-11 09:40:00.0'
DECLARE @date2 date = '2009-06-11'

select CONVERT(varchar(10), @date,105) where @date2>cast(@date as date)

欢迎使用堆栈溢出;)。这一方不为你做家务。请更新您的问题并描述您的问题,以便我们可以帮助您解决。EVT_completed EVT_completed的数据类型是datetime,它在数据库中显示为2009-05-11 09:40:00.0。我需要这个作为2009年5月11日的日期。谢谢你,卡姆兰注:
to_date(to_char(…
相当于
TRUNC(EVT_COMPLETED)作为“更正的完成日期”
。嗨,卡姆兰,我转换了(date,CONVERT(varchar,@date,101),101)它给我的日期是2009-05-11,数据类型是date。但是我现在的问题是我需要数据类型与date相同,但我希望日期格式是11-05-2015,因为我将把这个日期与当月的最后一天(2015年5月31日)进行比较。@chazpe如果您的两个数据类型都是date/datetime类型,那么您应该由于格式不影响类型中的值,因此在比较时没有任何问题。但是,如果要以特定格式向用户显示,则需要在显示时转换为varchar。谢谢Kamran。我理解。如何将最后一天(EVT_SCHEDEND)转换为“失败日期”进行日期之间的比较。两种数据类型都应为日期以获得正确的比较我在下面做了,但现在它是一个字符。我需要这是日期数据类型,请用于日期比较。将(Char,DATEADD(MONTH,DATEDIFF(MONTH,0,EVT_SCHEDEND)+1,0)-1103)转换为“Fail_date”您好,我这样做了,它正在转换为11-05-2009的正确格式,但我希望数据类型为date,因为我会将此日期与月份的最后一天进行比较,这是一个日期数据类型。您仍然可以与此日期数据类型进行比较,您将得到结果。请参阅编辑。