Sql server 使用between子句搜索逗号分隔的值

Sql server 使用between子句搜索逗号分隔的值,sql-server,csv,where-clause,between,Sql Server,Csv,Where Clause,Between,我有一个名为dayofweek的表,其中数据以以下格式存储,逗号分隔 id friday saturday sunday monday tuesday winsday 1 02:00,3:09 1:12,2:9 3:08,4:08 3:3,3:45 12:3,3:2 2:3,5:6,7:3,6:9 ... ... .... 现在我想在“星期五”的“02:30”查找id。简单地说,我想写一个如下的查询

我有一个名为
dayofweek
的表,其中数据以以下格式存储,逗号分隔

   id friday       saturday     sunday     monday   tuesday    winsday

   1  02:00,3:09   1:12,2:9     3:08,4:08  3:3,3:45  12:3,3:2   2:3,5:6,7:3,6:9
   ...
    ...
    ....
现在我想在“星期五”的“02:30”查找id。简单地说,我想写一个如下的查询:

从dayofweek中选择ID,其中day='friday'和时间位于'commaseparatedfirstvalue'和'commaseparatedSecondValue'中。


有人能帮忙吗?

恐怕您必须编写自己的SQL函数,该函数占用时间范围',例如-02:00,3:09',并将返回范围的开始和结束,例如,它们被称为begin_range和end_range
您的SQL查询将如下所示:

select id from dayofweek where  '02:30' >= begin_range(friday) and '02:30' <= end_range(friday);

从dayofweek中选择id,其中'02:30'>=开始范围(星期五)和'02:30',您可以使用LIKE来完成,也可以正确构造数据库。我建议采取第二种行动,因为《纽约时报》甚至没有统一的格式——当然“2:9”应该是“2:09”。“02:00”应该是“2:00”吗?你如何分辨上午和下午的区别?还有“Winsday”-真的吗?星期四也没有
专栏?