با استفاده از تابع FROM_UNIXTIME در MySQL یک کوئری بنویسید که ستون unix_ts (حاوی timestamp یونیکس) را از جدول events انتخاب کند و مقدار آن را به فرمت خوانای YYYY-MM-DD HH:MM:SS تبدیل کند و فقط ردیف‌هایی را برگرداند که تاریخ تبدیل‌شده پس از '2021-01-01' باشد.

19.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 02:49

0.0

برای حل این سؤال از تابع FROM_UNIXTIME(unix_ts) در MySQL استفاده کنید تا timestamp یونیکس به تاریخ و زمان خوانا تبدیل شود؛ در صورت نیاز برای قالب‌بندی دقیق‌تر می‌توانید از DATE_FORMAT(FROM_UNIXTIME(unix_ts), '%Y-%m-%d %H:%i:%s') بهره ببرید و برای فیلتر کردن ردیف‌ها شرط WHERE FROM_UNIXTIME(unix_ts) > '2021-01-01' را به کار ببرید—توجه کنید مقایسه‌ها باید روی مقادیر تاریخ/زمان انجام شوند و نکات مربوط به منطقه زمانی را مدنظر داشته باشید.

توسط پژوهشگر در 198 روز قبل ساعت 02:49
دسته بندی ها: MySQL MySQL for beginner
arash در 198 روز قبل ساعت 02:50

توجه کنید که استفاده مستقیم از FROM_UNIXTIME(unix_ts) در شرط WHERE ممکن است مانع استفاده از ایندکس روی ستون unix_ts شود و کوئری را کند کند. برای عملکرد بهتر مقایسه را روی مقدار عددی انجام دهید، مثلاً WHERE unix_ts > UNIX_TIMESTAMP('2021-01-01'). برای نمایش خوانا می‌توانید در SELECT از DATE_FORMAT(FROM_UNIXTIME(unix_ts),'%Y-%m-%d %H:%i:%s') استفاده کنید. همچنین اگر سرور و داده‌ها در منطقه زمانی متفاوتی هستند، با CONVERT_TZ یا تنظیم time_zone معتبر بودن تاریخ‌ها را بررسی کنید.

گزارش

1 پاسخ

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

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