Amitabh
Amitabh

Reputation: 23

SQL BETWEEN Time doesn't show results?

I want to find BETWEEN time but not show result.im share database please share valuable idea....

SQL code

  SELECT *
        FROM ci_time_slot
        WHERE type like '%B%'
          and sloat_name BETWEEN '8:00 AM' and '12:00 PM'

table

id   sloat_name     type
1    8:00 AM        A,B,C,D
2    8:15 AM        A
3    8:30 AM        A,B
4    8:45 AM        A,C
5    9:00 AM        A,B,D
6    9:15 AM        A
7    9:30 AM        A,B,C
8    9:45 AM        A
9    10:00 AM       A,B,D
10   10:15 AM       A,C
11   10:30 AM       A,B
12   10:45 AM       A
13   11:00 AM       A,B,C,D
14   11:15 AM       A
15   11:30 AM       A,B
16   11:45 AM       A,C
17   12:00 PM       A,B,D

need result

show this type of result depend on time

id   sloat_name     type
1    8:00 AM        A,B,C,D
2    8:15 AM        A
3    8:30 AM        A,B
4    8:45 AM        A,C
5    9:00 AM        A,B,D
6    9:15 AM        A
7    9:30 AM        A,B,C
8    9:45 AM        A
9    10:00 AM       A,B,D
10   10:15 AM       A,C
11   10:30 AM       A,B
12   10:45 AM       A
13   11:00 AM       A,B,C,D
14   11:15 AM       A
15   11:30 AM       A,B
16   11:45 AM       A,C
17   12:00 PM       A,B,D

Upvotes: 1

Views: 58

Answers (1)

Ergest Basha
Ergest Basha

Reputation: 9018

You haven't mentioned yet which dbms are you using ,I'm using MySQL for demonstration. You have to cast sloat_name to time to use between.

Try :

SELECT c.*
FROM ci_time_slot c
WHERE type like '%B%'
and cast(sloat_name as time) between '08:00:00' and '12:00:00';

Result:

id    sloat_name  type
1      8:00 AM    A,B,C,D
3      8:30 AM    A,B
5      9:00 AM    A,B,D
7      9:30 AM    A,B,C
9     10:00 AM    A,B,D
11    10:30 AM    A,B
13    11:00 AM    A,B,C,D
15    11:30 AM    A,B
17    12:00 PM    A,B,D

Demo

Upvotes: 1

Related Questions