Best way to design table structure for Operating Hours along with break time and optimized Query Problem #1:

How can the table be designed in MySQL in efficient way to structure 

1) Store Opening Time, 
2) Break Time and 
3) Closing Time in a day


For an instance, On Sunday: Opening Time: 7:00AM, Closing Time: 5:00PM, Break Time Start: 1:00PM, Break Time End: 2:30PM.

Problem #2:

How to define the query to search that table for all Stores that are being Opened/Closed between the given range.
From your comment above I cannot understand your motive for how you are trying to achieve it the way that you are but this is how I would do it (this is off the top of my head and I have not had chance to test this yet so please bear that in mind):

CREATE TABLE `Store`
(
    id INT AUTO_INCREMENT NOT NULL,
    -- additional columns for the store type
    PRIMARY KEY (id)
);
CREATE TABLE `OpeningHours`
(
    store_id INT NOT NULL,
    `open` TIME NOT NULL,
    `close` TIME NOT NULL,
    FOREIGN KEY (`store_id`) REFERENCES `stores`(`id`)
    -- add your own indexes here
);


Then put your open to close times in here such that if you opened at 9, closed at 5 and took a 1 hour lunch at 12 you would have data like so:

stored_id    `open`    `close`
1             09:00:00  12:00:00
1             13:00:00  17:00:00


Then you can query for stores that are open between a range of times like so:

DECLARE p_Time TIME;
    SET p_Time = TIME();

 SELECT DISTINCT store_id
   FROM `OpeningHours`
  WHERE  p_Time BETWEEN `open` AND `close`;


You can then use the store_id from the results above to join to the store table to get the store details.