View Full Version : سوال: بدست اوردن اطلاعات جدول بین دو تاریخ
mohsen.nsb44
شنبه 19 مرداد 1392, 11:00 صبح
تاریخ در دیتابیس به صورت رشته ای ذخیره شده حالا میخوام داده هایی که بین دو تاریخ هستن رو بدست بیارم
در استورپروسیجر کد زیر رو نوشتم
select * from tb where dDate between @date1 and @date2
اما این کد اشتباه غمل میکنه و فقط بر اساس روز عمل میکنه
یعنی اگه تاریخ 23/01/1392 باشه بر اساس عدد 23 فقط عمل میکنه
لطفا راهنمایی کنین چطور باید کدی بنویسم که درست عمل بشه
General-Xenon
شنبه 19 مرداد 1392, 11:23 صبح
تاریخ در دیتابیس به صورت رشته ای ذخیره شده حالا میخوام داده هایی که بین دو تاریخ هستن رو بدست بیارم
در استورپروسیجر کد زیر رو نوشتم
select * from tb where dDate between @date1 and @date2
اما این کد اشتباه غمل میکنه و فقط بر اساس روز عمل میکنه
یعنی اگه تاریخ 23/01/1392 باشه بر اساس عدد 23 فقط عمل میکنه
لطفا راهنمایی کنین چطور باید کدی بنویسم که درست عمل بشه
سلام . تاریخ رو فارسی درج میکنی ؟
این رو چک کن
select * from tb where dDate >= @date1 and dDate <= @date2
mohsen.nsb44
شنبه 19 مرداد 1392, 16:34 عصر
سلام . تاریخ رو فارسی درج میکنی ؟
این رو چک کن
select * from tb where dDate >= @date1 and dDate <= @date2
اینو چگ کردم قبلا اما جواب نمیده
General-Xenon
شنبه 19 مرداد 1392, 17:58 عصر
اینو چگ کردم قبلا اما جواب نمیده
اینم نشد ؟ باشه .
بیا این کلک و بزن بهش .. تبدیل کن به 1 عدد bigint بعد 3 تا عدد و با هم مقایسه کن...یعنی تاریخ مبدا و مقصد رو به عدد تبدیل کن .. بعدش هم میتونی خیلی راحت تاریخ اصلی و به عدد تبدیل کنی و چک کنی ما بین دو تا عدد اول.... .
CONVERT(BIGINT,REPLACE(CONVERT(VARCHAR(10), GETDATE(), 111), '/',''))
موفق باشی
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.