鍍金池/ 問答/數(shù)據(jù)庫(kù)/ SQL Server 時(shí)間的字段怎么判斷?

SQL Server 時(shí)間的字段怎么判斷?

公司的一個(gè)報(bào)餐系統(tǒng),一個(gè)用餐信息表。有兩個(gè)字段用來標(biāo)識(shí)用餐時(shí)間,一個(gè)開始,一個(gè)結(jié)束。比如早餐是"07:00" 到"08:30";而它們的格式是HH:mm,即"07:00" 、"08:30"。
我的存儲(chǔ)過程是這樣寫的

      select  
        meal_name
      from 
        base_meal_info_tab
      where 
        @time > meal_start_use_time 
      and @time < meal_end_use_time

什么都查不到,是該怎么查詢?求大神指點(diǎn)...

between ... and ... 也試過

回答
編輯回答
夏夕

meal_start_use_time ,meal_end_use_time 這兩個(gè)字段要先轉(zhuǎn)成日期或者時(shí)間格式吧?雖然我只用過 oracle

2017年4月22日 00:20
編輯回答
假灑脫
你要把前臺(tái)傳的用餐的開始時(shí)間、結(jié)束時(shí)間用between存到一個(gè)數(shù)組里面并且賦值給這個(gè)字段,
譬如說你要查詢用戶用餐開始時(shí)間在某個(gè)時(shí)間段可以這樣子寫:

$where['meal_start_use_time'] = ['between',[$this->data['start_time'],$this->data['end_time']]];
select meal_name from base_meal_info_tab where $meal_start_use_time = $where['meal_start_use_time'] ;

同理用戶用餐結(jié)束時(shí)間:
$where['meal_end_use_time'] = ['between',[$this->data['start_time'],$this->data['end_time']]];
select meal_name from base_meal_info_tab where $meal_end_use_time= $where['meal_end_use_time'] ;

其實(shí)我感覺用戶用餐的結(jié)束時(shí)間沒必要統(tǒng)計(jì),一般開始時(shí)間是用戶下單時(shí)間,結(jié)束時(shí)間怎么統(tǒng)計(jì)啊,
如果不特別關(guān)注用戶吃飯速度的快慢沒必要統(tǒng)計(jì)的.
直接留一個(gè)開始用餐時(shí)間,比如create_time,然后我們查詢前臺(tái)傳來的某個(gè)時(shí)間段得出這些用戶

$where['create_time'] = ['between',[$this->data['start_time'],$this->data['end_time']]];
select meal_name from base_meal_info_tab where $create_time = $where['create_time'];
以上僅供參考.
2018年3月13日 17:25