یک جدول به نام orders بسازید که ستونی به اسم created_at داشته باشد با مقدار پیش‌فرض CURRENT_TIMESTAMP و سپس یک پرس‌وجو بنویسید که تمام سفارش‌های ثبت‌شده در 24 ساعت گذشته را نمایش دهد.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:55

0.0

برای حل این مسئله از MySQL استفاده کنید: ابتدا با دستور CREATE TABLE ستونی از نوع TIMESTAMP یا DATETIME تعریف کنید و DEFAULT CURRENT_TIMESTAMP را قرار دهید تا هنگام وارد کردن رکورد زمان به‌صورت خودکار ثبت شود. سپس با یک SELECT و شرط WHERE از عبارت‌هایی مانند created_at >= CURRENT_TIMESTAMP - INTERVAL 24 HOUR یا created_at >= NOW() - INTERVAL 1 DAY استفاده کنید تا رکوردهای 24 ساعت اخیر را فیلتر کنید؛ می‌توانید از توابع DATE(), CURDATE() یا NOW() نیز برای مقایسه تاریخ/زمان بهره ببرید. نکته: بسته به نیاز به دقت زمانی TIMESTAMP یا DATETIME را انتخاب کنید و به منطقه زمانی سرور دقت کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:55
دسته بندی ها: MySQL MySQL for beginner
sara در 202 روز قبل ساعت 08:06

برای حفظ زمان ثبت سفارش، ایجاد ستونی به نام created_at از نوع TIMESTAMP با DEFAULT CURRENT_TIMESTAMP یک راه استاندارد است. اگر می‌خواهید با دقت زمانی و سازگاری با منطقه زمانی بهتر کار کنید، TIMESTAMP معمولاً مناسب است چون به صورت UTC ذخیره می‌شود و تبدیل TZ را مدیریت می‌کند؛ در غیر این صورت DATETIME را می‌توانید استفاده کنید و زمان را از سمت اپلیکیشن بدهید. برای نمایش سفارش‌های 24 ساعت اخیر، از شرط created_at >= NOW() - INTERVAL 24 HOUR استفاده کنید و افزودن ایندکس روی created_at می‌تواند کارایی پرس‌وجو را بهبود دهد. همچنین به تفاوت NOW() و CURRENT_TIMESTAMP توجه کنید و اگر نیاز به به‌روزرسانی زمان ثبت هنگام ویرایش وجود داشت، از ON UPDATE CURRENT_TIMESTAMP بهره ببرید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری