查询日期时间声明

问题描述 投票:0回答:1

我有一个Datetime列闹表,而在存储过程中添加声明。

我想设置@EventTime为一周的某一天,而无需修改列..

更像是一个陷阱。

例如:

declare @EventTime datetime

set @EventTime = (select EventTime 
                  from _LogClients 
                  where ClientID = @ClientID)

if (@EventTime like '%2-2%) -- As a day of a week not as a numerical date.

- - 日期时间预览:2019年1月22日十七点47分00秒

任何有关此事的帮助?注:EVENTTIME是在运行于一个特定的事件发生。然而,该数据库是一个游戏之一,所以记录是基于服务器的文件,我需要知道,如果我能够做一个存储过程中使用在EVENTTIME声明能以执行的那一天某个查询从列平日阅读的日期时间(不SQL代理虽然根据..这是一个不同的故事)。

sql sql-server sql-server-2012
1个回答
0
投票

我不是从你的问题肯定,如果你想获得一周的实际日期的数字表示(如周日将是“1”,周一为“2”,等等。),或者如果你只需要一天当周的日期起一个词。

这里是你的代码修改为使用这个词的星期(请注意,你可能会在SELECT语句中使用的DATENAME但随后你需要@EventTime的类型更改为NVARCHAR()或NCHAR):

declare @EventTime datetime

set @EventTime = (select EventTime 
              from _LogClients 
              where ClientID = @ClientID)

if (DATENAME(dw,@EventTime) like '%Tuesday%)

如果你想要的数值相当于使用:

if (DATEPART(dw,@EventTime) = '1' -- Testing for Sunday day name
© www.soinside.com 2019 - 2024. All rights reserved.