私は自分のアプリケーションにシフトがあります。私はユーザーが定義されたログにタイムスパンでログインできる時間を制限したい。ユーザーログインの時間制限
AMからPMへのシフト1は正常ですが、PMからAMへのチェックで問題が発生しています。これは、第2シフトが午後5時に開始し、翌日の午前10時に終了するためです。お使いの値が格納されていない場合は
DECLARE
@timenow TIME
-- Get the current time
SELECT @timenow = CONVERT(TIME, GETDATE())
SELECT *
FROM temp
-- This clause handles the case where the shifts don't go past midnight
WHERE ((endtime > starttime) AND (@timenow BETWEEN starttime AND endtime))
-- This clause handles the case where the shifts do go past midnight
OR ((endtime < starttime) AND (@timenow >= starttime OR @timenow <= endtime))
:
ユーザテーブル構造は、そのSTARTTIMEと終了時刻を想定し
shiftid, starttime, endtime
1, 6:00:00 AM, 11:30:00 PM
2, 5:00:00 PM, 10:00:00 AM
それはどんな種類の問題を作りますか?あなたのタイムシフトをどこで手に入れますか? SQLで直接? –
現在使用しているコードを提供できますか?問題のある箇所を挙げることはできますか? – Origin
デスクトップアプリケーションでこれが必要です。コードはここにあります tNow =フォーマット(現在、 "hh:mm tt") ''現在の時刻 stTime =フォーマット(ds.Tables( "shiftdetails"))行(0).Item ( "starttime")、 "hh:mm tt") 'テーブルから時刻を取得 edTime =フォーマット(ds.Tables( "shiftdetails"))行(0).Item( "endtime")、 "hh:mm tt ")"テーブルから時刻を取得する もしtNow> stTimeとtNow
nbhatti2001