با استفاده از تابع 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' را به کار ببرید—توجه کنید مقایسهها باید روی مقادیر تاریخ/زمان انجام شوند و نکات مربوط به منطقه زمانی را مدنظر داشته باشید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
توجه کنید که استفاده مستقیم از 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 معتبر بودن تاریخها را بررسی کنید.
گزارش