2015-06-21 45 views
0

之間的記錄。如何找出我需要從下表找出AM和PM之間記錄的上午和下午

table1

用於例如:如果我進入啓動時間設置爲早上7結束時間下午4時,我需要得到下面的記錄。

output

開始時間和結束時間的數據是在具有12小時格式varchar數據類型。我如何區分搜索條件中的AM和PM。是否有任何內置函數來提取SQL Server中的24小時格式的時間?提前致謝。

+3

你真的需要修復您的數據庫設計。不要將日期和時間存儲在單獨的字段中,也不要將它們中的任何一個存儲爲varchar。你也有輪班問題,即使在照片拼寫'天'和另一個'天'。 –

+1

同樣你有兩個EMPID + empname和shiftid +存儲在該表中,這可能是不這樣做,要麼 –

+0

嗨JameZ,這是我對demonstraion創建了一個示例表的方式shiftname。 –

回答

1

將您的字段轉換爲time的格式,然後進行比較。

SELECT CONVERT(time, '07:01 PM') 

SQL Fiddle

現在,你寫的甘蔗查詢類似下面

select * from yourtable where CONVERT(time, starttime) >= CONVERT(time, '07:00 AM') AND CONVERT(time, endtime) <= CONVERT(time, '04:00 PM') 
+0

這是解決我的問題。謝謝您的幫助 –

相關問題