soha68
شنبه 25 آذر 1391, 15:25 عصر
سلام من برای رزرو هتل دو جدول rooms,res1 دارم برای ثبت اتاق ها و رزروها در جدول res1 دو فیلد res_s,res_e برای ابتداوانتهای رزرو از نوع varchaar میخوام وقتی کاربر ابتدا و انتهای مدت اقامتش رووارد کرد اتاق هایی که در این بازه زمانی آزاد هستند رو نمایش بده از استور پروسیژرهایزیر استفاده کردم ولی جواب نمیده از نوع datetime هم استفاده کردم ولی ارور convert نوع استرینگیا char به datetime میده لطفاراهنمایی کنید
CREATE PROCEDURE check_date16
@res_s varchar(50),
@res_e varchar (50)
AS
select distinct(rooms.sh),rooms.info,rooms.id
from rooms left outer join res1 on (rooms.id=res1.id )
where( exists (select * from res1 where ((@res_s not between res_s and res_e)
or (@res_e not between res_s and res_e)
or (@res_e<> res_e)
or(@res_s <> res_s)
or (@res_e <>res_s)
or (@res_s <> res_e)
)))
GO
CREATE PROCEDURE check_date15
@res_s varchar(50),
@res_e varchar (50)
AS
select distinct(rooms.sh),rooms.info,rooms.id
from rooms left outer join res1 on (rooms.id=res1.id )
where( not exists (select * from res1 where ((@res_s between res_s and res_e)
or (@res_e between res_s and res_e)
or (@res_e= res_e)
or(@res_s = res_s)
or (@res_e =res_s)
or (@res_s = res_e)
)))
GO
CREATE PROCEDURE check_date16
@res_s varchar(50),
@res_e varchar (50)
AS
select distinct(rooms.sh),rooms.info,rooms.id
from rooms left outer join res1 on (rooms.id=res1.id )
where( exists (select * from res1 where ((@res_s not between res_s and res_e)
or (@res_e not between res_s and res_e)
or (@res_e<> res_e)
or(@res_s <> res_s)
or (@res_e <>res_s)
or (@res_s <> res_e)
)))
GO
CREATE PROCEDURE check_date15
@res_s varchar(50),
@res_e varchar (50)
AS
select distinct(rooms.sh),rooms.info,rooms.id
from rooms left outer join res1 on (rooms.id=res1.id )
where( not exists (select * from res1 where ((@res_s between res_s and res_e)
or (@res_e between res_s and res_e)
or (@res_e= res_e)
or(@res_s = res_s)
or (@res_e =res_s)
or (@res_s = res_e)
)))
GO