【发布时间】:2021-11-08 15:11:38
【问题描述】:
我正在尝试创建一个可以在全部或部分时间进行过滤的存储过程。它应该只过滤小时或分钟(而不是秒)或小时和分钟。
使用下面的示例数据:
-
@StartTimeFilter = '09:15'--> 应该返回记录#1 -
@StartTimeFilter = '10'--> 应该返回记录 2、3、10 -
@StartTimeFilter = '5'--> 应该返回记录 1、2、5、6、7、8、9 -
@StartTimeFilter = '45'--> 应该返回记录 5、6 -
@StartTimeFilter = '13:45'--> 应该返回记录#6 -
@StartTimeFilter = '11:'--> 应该返回记录 4、5
代码:
CREATE TABLE test
(
id INT,
startTime DateTime
);
INSERT INTO test (id, startTime) VALUES (1, '2021-10-25 09:15:00');
INSERT INTO test (id, startTime) VALUES (2, '2021-10-25 10:15:00');
INSERT INTO test (id, startTime) VALUES (3, '2021-10-25 10:30:00');
INSERT INTO test (id, startTime) VALUES (4, '2021-10-25 11:30:00');
INSERT INTO test (id, startTime) VALUES (5, '2021-10-25 11:45:00');
INSERT INTO test (id, startTime) VALUES (6, '2021-10-25 13:45:00');
INSERT INTO test (id, startTime) VALUES (7, '2021-10-25 14:50:00');
INSERT INTO test (id, startTime) VALUES (8, '2021-10-25 15:51:00');
INSERT INTO test (id, startTime) VALUES (9, '2021-10-25 15:58:00');
INSERT INTO test (id, startTime) VALUES (10,'2021-10-25 16:10:00');
【问题讨论】:
-
Edit 问题并展示您已经尝试过的内容。解释失败的原因/位置。具体(错误消息、意外结果等)。
标签: sql sql-server