STR_TO_DATE (STR_TO_DATE)
تابع STR_TO_DATE یعنی «رشته به تاریخ (String to Date)». یک متنِ تاریخ را طبق یک الگو تبدیل می کند. الگو با کُدهای درصدی مشخص می شود؛ مثل %Y برای سال چهاررقمی. این برای ورودهای فرم یا فایل های CSV عالی است.
تعریف و کاربرد STR_TO_DATE
STR_TO_DATE(string, format) تاریخ/زمان را از روی متن و فرمت می سازد. کُدهای فرمت مثل %Y، %m، %d بخش های تاریخ را نشان می دهند.
نمونه دستور (Syntax) و مثال پایه
-- تبدیل "August 10 2017" به تاریخ با فرمت کامل ماه.
SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");
مثال های بیشتر
می توانی فاصله ها یا ویرگول ها را با همان الگو بشناسانی.
-- ویرگول ها در متن و الگو هماهنگ هستند.
SELECT STR_TO_DATE("August,5,2017", "%M %e %Y");
-- شامل نام روز هفته در ابتدای متن.
SELECT STR_TO_DATE("Monday, August 14, 2017", "%W %M %e %Y");
-- همراه ساعت:دقیقه:ثانیه با جداکننده های سفارشی.
SELECT STR_TO_DATE("2017,8,14 10,40,10", "%Y,%m,%d %h,%i,%s");
نکته های مهم فرمت
نکته: %Y سال چهاررقمی است؛ %y سال دودرقمی است. %m ماه دو رقمی است؛ %M نام کامل ماه است. %d روز دودرقمی است؛ %e روز بدون صفر پیشرو است.
نکته: جداکننده ها باید در متن و الگو یکسان باشند؛ فاصله، ویرگول یا خط تیره.
نکته: برای نمایش خروجی به زمان، می توانی بعداً از SEC_TO_TIME یا برای استخراج ثانیه از SECOND کمک بگیری. همچنین زمان فعلی با NOW در دسترس است.
گام های تمرینی سریع
- نمونه متن تاریخ را آماده کن.
- کُدهای فرمت مناسب را تعیین کن.
- SELECT STR_TO_DATE(text, format); را اجرا کن.
- نتیجه را با انتظار خودت مقایسه کن.
جمع بندی سریع
- متن تاریخ با الگو تبدیل می شود.
- کُدهای %Y، %m، %d پایه هستند.
- جداکننده ها باید دقیقاً تطابق داشته باشند.
- می توانی روز هفته و زمان را هم بخوانی.