نمایش نتایج 1 تا 7 از 7

نام تاپیک: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,1,11

  1. #1

    مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,1,11

    سلام دوستان
    من به همچین مشکلی برخوردم که تاریخ به صورت string در پایگاه داده ذخیره شده
    زمانی که می خوام رکورد های ذخیره شده بر حسب تاریخ رو select کنم نتیجه اشتباه میشه
    مثلا

    select id,price from mytable where todaydate>="89,1,1" and todaydate<="89,1,11"

    در فیلد تودی دیت تاریخ دقیقا به همین صودت و به فرمت استرینگ هست ولی در مقایسه بالا 89,1,11 کوچکتر از 89,1,2 در نظر گرفته میشه و 89,1,2 سلکت نمیشه
    دو ستان ممنون میشم راهنمایی کنید



  2. #2
    کاربر دائمی آواتار ya30ien2
    تاریخ عضویت
    تیر 1390
    محل زندگی
    بوشهر-برازجان
    پست
    715

    نقل قول: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,

    شما اول دو تا رشته رو بگیر و بعد با دستور CompareTo با هم مقایسشون کن

  3. #3

    نقل قول: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,

    بهتره تاریخ رو به جای اینکه به صورت 89,1,2 بنویسی به صورت 89,01,02 بنویسی اینطوری مشکلت حل میشه

  4. #4

    نقل قول: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,

    نقل قول نوشته شده توسط Legend M.A.R مشاهده تاپیک
    بهتره تاریخ رو به جای اینکه به صورت 89,1,2 بنویسی به صورت 89,01,02 بنویسی اینطوری مشکلت حل میشه
    بهتره کاراکتره (,) رو هم حذف کنی و تاریخ رو اینطوری بنویسی 890102 . اینطوری SQL راحت میتونه تاریخ ها رو مقایسه کنه و برای جدا کردن اعداد از توابع String استفاده کن. مثلا :

    string date = "890102";
    string year, month, day;
    year = date.Substring(0, 2);
    month = date.Substring(2, 2);
    day = date.Substring(4, 2);

  5. #5
    کاربر تازه وارد آواتار hamzeh241
    تاریخ عضویت
    آذر 1389
    محل زندگی
    سنندج
    پست
    73

    نقل قول: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,

    fبا سلام
    نظر دوستان به جای خودش درسته ولی بیا یکبار برای همیشه خودت راحت کن. وقتی می خوای یک تاریخ شمسی رو تو دیتا بیس ذخیره کنی قبلش یک فیلد دیگه با فرمتdatetime به دیتا بیس اضافه کن همزمان با درج تاریخ شمسی تاریخ میلادی رو هم درج کن دیگه اون وقت مشکلات این قرتی بازی رو برای مقایسه نداری!
    یاد باشه مایکروسافت برای ما ایرانی ها هیچ کاری نمی کنه این ببین بد نیست
    https://barnamenevis.org/showthread.p...t=#post1288821

  6. #6

    نقل قول: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,

    سلام به دوستان و ممنونم ازهمتون
    خودم به همین نتیجه Legend رسیده بودم
    چون پروژه ام حجم بالای داره با این روش زود تر به نتیجه میرسم

  7. #7

    نقل قول: مشکل در مقایسه تاریخ ذخیره شده در پایگاه داده به صورت رشته مثلا 89,1,2 بزرگ تر است از 89,

    سلام
    تاریخ رو به صورت 89/02/01 ذخیره کنی هم میشه
    برای انتخاب بین دو تاریخ هم از <=> استفاده کنی بهترین نتیجه رو می گیری
    موفق باشید

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •