PDA

View Full Version : سوال: بدست اوردن اطلاعات جدول بین دو تاریخ



mohsen.nsb44
شنبه 19 مرداد 1392, 10:00 صبح
تاریخ در دیتابیس به صورت رشته ای ذخیره شده حالا میخوام داده هایی که بین دو تاریخ هستن رو بدست بیارم
در استورپروسیجر کد زیر رو نوشتم


select * from tb where dDate between @date1 and @date2

اما این کد اشتباه غمل میکنه و فقط بر اساس روز عمل میکنه
یعنی اگه تاریخ 23/01/1392 باشه بر اساس عدد 23 فقط عمل میکنه
لطفا راهنمایی کنین چطور باید کدی بنویسم که درست عمل بشه

General-Xenon
شنبه 19 مرداد 1392, 10: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, 15:34 عصر
سلام . تاریخ رو فارسی درج میکنی ؟
این رو چک کن
select * from tb where dDate >= @date1 and dDate <= @date2
اینو چگ کردم قبلا اما جواب نمیده

General-Xenon
شنبه 19 مرداد 1392, 16:58 عصر
اینو چگ کردم قبلا اما جواب نمیده

اینم نشد ؟ باشه .
بیا این کلک و بزن بهش .. تبدیل کن به 1 عدد bigint بعد 3 تا عدد و با هم مقایسه کن...یعنی تاریخ مبدا و مقصد رو به عدد تبدیل کن .. بعدش هم میتونی خیلی راحت تاریخ اصلی و به عدد تبدیل کنی و چک کنی ما بین دو تا عدد اول.... .
CONVERT(BIGINT,REPLACE(CONVERT(VARCHAR(10), GETDATE(), 111), '/',''))
موفق باشی