0

この形式(00:00:00)で出席テーブルに時間を保存しています。09:00:00より前に保存されたログインデータを見つける必要があります。

このクエリを使用してデータを検索しています。

SELECT user_name, 
       time_in 
  FROM attendance 
 WHERE user_name='Vignesh' 
  AND  time_in < 09:20:59

このことは私にはうまくいきません。DBから09:00:00より前のデータを取得する他の方法はありますか?

4

3 に答える 3

6

あなたはそれを引用符で囲む必要があります:

AND  time_in < '09:20:59'
               ^--------^--- single quote char

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-literals.html

MySQLは、次の形式のTIME値を認識します。

  • 'D HH:MM:SS'フォーマットの文字列として。次の「リラックスした」構文のいずれかを使用することもできます'HH:MM:SS''HH:MM'、、、、、、または。ここは日を表し、0から34までの値を持つことができます。'D HH:MM''D HH''SS'D

  • 'HHMMSS'時間として意味がある場合は、形式に区切り文字がない文字列として。たとえば、'101112'はとして理解されます'10:11:12'が、'109712'違法であり(無意味な微細な部分があります)、になり'00:00:00'ます。

  • HHMMSS時間として意味があるという条件で、形式の数値として。たとえば、101112はとして理解され'10:11:12'ます。次の代替形式も理解されます:SS、、、MMSSまたはHHMMSS

于 2012-12-17T12:55:00.747 に答える
2

これをやってみてください

    SELECT user_name, 
   time_in 
   FROM attendance 
 WHERE user_name='Vignesh' 
  AND  time_in < '09:20:59'

編集 :

またはこれを使用することもできます

        SELECT user_name,time_in
   FROM attendance 
   WHERE user_name='Vignesh' 
    AND startTime < TIME_FORMAT("00:00:00","%H:%i:%s") 
     AND endTime > TIME_FORMAT("05:00:00","%H:%i:%s")
于 2012-12-17T12:56:56.600 に答える
1

次の構文を使用して、2つの日付の間のデータを取得します。

「2011/02/25」から「2011/02/27」までの日付

上記のものには日時を使用してください..それは機能します....(タイムスタンプ)

または、以下のように使用します。

SELECT id FROM Parts WHERE (Time < EndTime) AND (Time > BeginTime) ORDER BY Time; 
于 2012-12-17T12:55:17.990 に答える