আমি করছেন চেষ্টা SELECT DATE(ColumnName)অবশ্য এই কাজ করে না জন্য TIMESTAMPকলাম † কারণ তারা ইউটিসি সঞ্চিত হয় এবং ইউটিসি তারিখ পরিবর্তে স্থানীয় তারিখ থেকে রূপান্তর ব্যবহার করা হয়। আমার টাইম জোনে একটি নির্দিষ্ট তারিখে সারিগুলি নির্বাচন করা আমার দরকার ছিল, সুতরাং এই অন্যান্য প্রশ্নের উত্তর আমার সাথে বালাস্বামী ভাদ্মেমানের এই প্রশ্নের উত্তরটির সাথে সংযুক্ত করে আমি এইটাই করেছি:
আপনি যদি খেজুর হিসাবে সংরক্ষণ করা হয় DATETIME
শুধু কর SELECT DATE(ColumnName)
আপনি যদি খেজুর হিসাবে সংরক্ষণ করা হয় TIMESTAMP
আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে টাইম জোনের ডেটা মাইএসকিউএলে লোড করুন । উইন্ডোজ সার্ভারগুলির জন্য পূর্ববর্তী লিঙ্কটি দেখুন। লিনাক্স, ফ্রিবিএসডি, সোলারিস এবং ওএস এক্স সার্ভারগুলির জন্য:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
তারপরে আপনার ক্যোয়ারিকে এভাবে বিন্যাস করুন:
SELECT DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York'))
আপনি এটিকে WHEREকোয়েরির অংশেও এটি রাখতে পারেন (তবে নোট করুন যে কলামে সূচিগুলি কাজ করবে না):
SELECT * FROM tableName
WHERE DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York')) >= '2015-02-04'
(অবশ্যই America/New_Yorkআপনার স্থানীয় সময় অঞ্চল জন্য বিকল্প ।)
To এর একমাত্র ব্যতিক্রম হ'ল যদি আপনার স্থানীয় সময় অঞ্চলটি জিএমটি হয় এবং আপনি দিবালোক সঞ্চয় না করেন কারণ আপনার স্থানীয় সময়টি ইউটিসির মতো।