在存储过程中添加声明时,我遇到了表中的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-01-22 17:47:00
关于这件事有什么帮助吗?注意: EventTime用于存储过程,该存储过程在发生特定事件时运行。然而,数据库是游戏一,所以记录器是基于服务器文件的,我需要知道我是否能够使EventTime声明能够读取列中的日期时间作为工作日,以便执行某一天的特定查询(虽然不是基于SQL Agent。这是一个不同的故事)。
发布于 2019-02-03 07:30:54
从你的问题中,我不能确定你是否正在尝试获得一周中实际一天的数字表示(比如周日是"1",星期一是"2",等等。)或者,如果您只需要日期中的星期几作为单词。
下面是修改后的代码,以便使用星期几(请注意,您可以在select语句中使用nchar,但随后需要将@EventTime的类型更改为nVarchar()或DateName ):
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 namehttps://stackoverflow.com/questions/54496874
复制相似问题