توابع (MySQL Functions)
توابع MySQL ابزارهای آماده اند. آن ها رشته، عدد، و تاریخ را پردازش می کنند. با توابع، محاسبه و جست وجو سریع تر و ساده تر می شود.
دسته بندی کلی توابع
چهار گروه اصلی داریم: رشته ای، عددی، تاریخی/زمانی، و پیشرفته. هر گروه برای نوع خاصی از داده هاست.
توابع رشته ای (String)
این توابع روی متن کار می کنند. «رشته (String)» یعنی دنباله ای از کاراکترها. نمونه ها: CONCAT برای چسباندن متن ها، LOWER/UPPER برای تغییر حروف، TRIM برای حذف فاصله ها، و SUBSTRING برای بریدن بخش هایی از متن.
نکته: وقتی نیاز به جداکردن با یک جداکننده دارید، از CONCAT_WS استفاده کنید.
توابع عددی (Numeric)
این ها برای محاسبات هستند. «میانگین (AVG)» میانگین می گیرد. «SUM» جمع می زند. «ROUND» گرد می کند. «CEIL/FLOOR» به بالا یا پایین می بُرد. «MOD» باقیمانده می دهد.
هشدار: برای پول از توابع روی DECIMAL استفاده کنید تا خطای اعشاری کمتر شود.
توابع تاریخ و زمان (Date/Time)
این توابع با تاریخ وزمان کار دارند. «NOW» زمان فعلی می دهد. «DATE_FORMAT» تاریخ را قالب بندی می کند. «DATEDIFF» اختلاف روزها را می سنجد. «DATE_ADD/DATE_SUB» فاصله زمانی را اضافه یا کم می کند.
نکته: هنگام مقایسه تاریخ با زمان، دقت کنید قسمت زمان نتیجه را تغییر ندهد.
توابع پیشرفته (Advanced)
این گروه برای تبدیل نوع ها و کنترل مقدارهاست. «CAST/CONVERT» نوع داده را تغییر می دهد. «COALESCE/IFNULL» اولین مقدار غیرتهی را برمی گردانند. «CASE» شبیه شرط های چندگانه عمل می کند.
راهنمای سریع انتخاب
- برای چسباندن متن ها از CONCAT یا CONCAT_WS استفاده کنید.
- برای آمار ساده از COUNT، AVG، SUM کمک بگیرید.
- برای تاریخ وزمان از NOW، DATE_FORMAT، DATEDIFF بهره ببرید.
- برای مقدارهای تهی از COALESCE یا IFNULL استفاده کنید.
جمع بندی سریع
- توابع آماده، پرس وجوها را ساده تر می کنند.
- چهار گروه: رشته ای، عددی، تاریخی/زمانی، پیشرفته.
- برای قالب متن از LOWER/UPPER/TRIM استفاده کنید.
- برای محاسبات پایه SUM/AVG/ROUND کافی است.
- برای تهی ها COALESCE/IFNULL ایمن تر است.
مطالب مرتبط: انواع داده (Data Types) برای انتخاب نوع درست ستون. همچنین تاریخ ها (Dates) برای کار دقیق با تاریخ.
برای مرور این مرجع، به توابع MySQL مراجعه کنید.
منابع بیشتر: W3Schools: MySQL Functions و MySQL Docs: Functions.