Обсуждение: Can someone tell me why this statement is failing?
Can anyone tell me why this SQL statement is not
matching with the row from the table below? I think
I'm going mad!
#####################################
SQL Statement
#####################################
SELECT * FROM t_bell_schedule WHERE calendar_day =
'2004-04-12' AND start_time_minutes >= '1082374200'
AND end_time_minutes <= '1082375100';
#####################################
Current DB Data to match
#####################################
calendar_day | period_letter | start_time_minutes |
end_time_minutes
--------------+---------------+--------------------+------------------2004-04-12 | B | 1082374440
| 1082377320
#####################################
DB Structure
#####################################
Column | Type | Modifiers
--------------------+-----------------------------+--------------------------------------------------------------------------------bell_schedule_uid
| integer |
not null default
nextval('public.t_bell_schedule_bell_schedule_uid_seq'::text)calendar_day | date
|period_letter | character varying(4) |period | character varying(4) |start_time
|time without time zone |end_time | time without time zone |total_minutes | integer
|activestatus | integer |datecreated | timestamp without time zone
|datemodified | timestamp without time zone |start_time_minutes | integer |end_time_minutes
|integer |
Cheers,
Pete
__________________________________
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25�
http://photos.yahoo.com/ph/print_splash
El Lun 19 Abr 2004 17:31, P A escribió: > Can anyone tell me why this SQL statement is not > matching with the row from the table below? I think > I'm going mad! > > ##################################### > SQL Statement > ##################################### > > SELECT * FROM t_bell_schedule WHERE calendar_day = > '2004-04-12' AND start_time_minutes >= '1082374200' > AND end_time_minutes <= '1082375100'; start_time_minutes and end_time_minutes are integer data types, so don't enclose the values in quotes. > start_time_minutes | integer | > end_time_minutes | integer | -- 11:38:01 up 42 days, 16:05, 4 users, load average: 0.48, 0.61, 0.55 ----------------------------------------------------------------- Martín Marqués | select 'mmarques' || '@' || 'unl.edu.ar' Centro de Telematica | DBA, Programador, Administrador Universidad Nacional del Litoral -----------------------------------------------------------------
Your end time minutes is NULL, comparing NULL to anything (even NULL
itself) yields NULL so you either need to:
SELECT * FROM ... WHERE ... AND (end_time_minutes IS NULL OR
end_time_minutes <= '1082375100');
or
SELECT * FROM ... WHERE ... AND coalsece(end_time_minutes, 0) <=
'1082375100';
P A wrote:
>Can anyone tell me why this SQL statement is not
>matching with the row from the table below? I think
>I'm going mad!
>
>#####################################
>SQL Statement
>#####################################
>
>SELECT * FROM t_bell_schedule WHERE calendar_day =
>'2004-04-12' AND start_time_minutes >= '1082374200'
>AND end_time_minutes <= '1082375100';
>
>#####################################
>Current DB Data to match
>#####################################
>
> calendar_day | period_letter | start_time_minutes |
>end_time_minutes
>--------------+---------------+--------------------+------------------
> 2004-04-12 | B | 1082374440 |
> 1082377320
>
>#####################################
>DB Structure
>#####################################
>
> Column | Type |
> Modifiers
>--------------------+-----------------------------+--------------------------------------------------------------------------------
> bell_schedule_uid | integer |
>not null default
>nextval('public.t_bell_schedule_bell_schedule_uid_seq'::text)
> calendar_day | date |
> period_letter | character varying(4) |
> period | character varying(4) |
> start_time | time without time zone |
> end_time | time without time zone |
> total_minutes | integer |
> activestatus | integer |
> datecreated | timestamp without time zone |
> datemodified | timestamp without time zone |
> start_time_minutes | integer |
> end_time_minutes | integer |
>
>
>Cheers,
>Pete
>
>
>
>
>
>__________________________________
>Do you Yahoo!?
>Yahoo! Photos: High-quality 4x6 digital prints for 25¢
>http://photos.yahoo.com/ph/print_splash
>
>---------------------------(end of broadcast)---------------------------
>TIP 4: Don't 'kill -9' the postmaster
>
>
--
Edmund Bacon <ebacon@onesystem.com>
> Can anyone tell me why this SQL statement is not > matching with the row from the table below? I think > I'm going mad! Indeed. The row is NOT in that range. 1082377320 is > 1082375100 not <= it
Hi..
Your END_TIME_MINUTES condition fails..
1082377320 <= 1082375100
HTH.
Denis
----- Original Message -----
From: P A <patkins2474@yahoo.com>
To: <pete@tkins.com>
Cc: <pgsql-sql@postgresql.org>
Sent: Tuesday, April 20, 2004 2:01 AM
Subject: [SQL] Can someone tell me why this statement is failing?
> Can anyone tell me why this SQL statement is not
> matching with the row from the table below? I think
> I'm going mad!
>
> #####################################
> SQL Statement
> #####################################
>
> SELECT * FROM t_bell_schedule WHERE calendar_day =
> '2004-04-12' AND start_time_minutes >= '1082374200'
> AND end_time_minutes <= '1082375100';
>
> #####################################
> Current DB Data to match
> #####################################
>
> calendar_day | period_letter | start_time_minutes |
> end_time_minutes
> --------------+---------------+--------------------+------------------
> 2004-04-12 | B | 1082374440 |
> 1082377320
>
> #####################################
> DB Structure
> #####################################
>
> Column | Type |
> Modifiers
> --------------------+-----------------------------+-----------------------
---------------------------------------------------------
> bell_schedule_uid | integer |
> not null default
> nextval('public.t_bell_schedule_bell_schedule_uid_seq'::text)
> calendar_day | date |
> period_letter | character varying(4) |
> period | character varying(4) |
> start_time | time without time zone |
> end_time | time without time zone |
> total_minutes | integer |
> activestatus | integer |
> datecreated | timestamp without time zone |
> datemodified | timestamp without time zone |
> start_time_minutes | integer |
> end_time_minutes | integer |
>
>
> Cheers,
> Pete
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Photos: High-quality 4x6 digital prints for 25¢
> http://photos.yahoo.com/ph/print_splash
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster