توابع SQL
SQL دارای بسیاری از توابع داخلی برای شمارش و محاسبه است.
قوانین دستور زبان
قوانین دستور زبان توابع داخلی SQL به صورت زیر است:
SELECT function(ستون) FROM جدول
نوع توابع
در SQL، انواع پایه و گونههای مختلفی از توابع وجود دارد. نوع پایه توابع عبارت است از:
- توابع جمعآوری
- توابع سکالار
توابع جمعآوری (Aggregate functions)
عملیات توابع جمعآوری به مجموعهای از مقادیر اشاره دارد و یک مقادیر تنها را بازمیگرداند.
توضیح:اگر در لیست پروژههای SELECT در بسیاری از دیگر عبارات از SELECT استفاده شود، این SELECT باید با استفاده از عبارت GROUP BY انجام شود!
جداول "Persons" (در بیشتر مثالها استفاده شده است)
نام | سن |
---|---|
Adams, John | 38 |
Bush, George | 33 |
Carter, Thomas | 28 |
توابع جمعآوری در MS Access
توابع | توضیحات |
---|---|
AVG(column) | بازگشت میانگین یک ستون |
COUNT(column) | بازگشت تعداد ردیفهای یک ستون (بدون NULL) |
COUNT(*) | بازگشت تعداد ردیفهای انتخابشده |
FIRST(column) | بازگشت ارزش اولین رکورد در حوزه مشخص شده |
LAST(column) | بازگشت ارزش آخرین رکورد در حوزه مشخص شده |
MAX(column) | بازگشت بیشترین مقدار یک ستون |
MIN(column) | بازگشت کمترین مقدار یک ستون |
STDEV(column) | |
STDEVP(column) | |
SUM(column) | بازگشت جمع کل یک ستون |
VAR(column) | |
VARP(column) |
توابع جمعآوری در SQL Server
توابع | توضیحات |
---|---|
AVG(column) | بازگشت میانگین یک ستون |
BINARY_CHECKSUM | |
CHECKSUM | |
CHECKSUM_AGG | |
COUNT(column) | بازگشت تعداد ردیفهای یک ستون (بدون NULL) |
COUNT(*) | بازگشت تعداد ردیفهای انتخابشده |
COUNT(DISTINCT column) | بازگشت تعداد نتایج متفاوت |
FIRST(column) | بازگشت مقدار اولین رکورد در حوزه معین شده (SQLServer2000 پشتیبانی نمیکند) |
LAST(column) | بازگشت مقدار آخرین رکورد در حوزه معین شده (SQLServer2000 پشتیبانی نمیکند) |
MAX(column) | بازگشت بیشترین مقدار یک ستون |
MIN(column) | بازگشت کمترین مقدار یک ستون |
STDEV(column) | |
STDEVP(column) | |
SUM(column) | بازگشت جمع کل یک ستون |
VAR(column) | |
VARP(column) |
توابع سکالار
عمل توابع سکالار به یک مقدار خاص معطوف شده و یک مقدار ساده بر اساس مقدار ورودی بازمیگرداند.
توابع سکالار در MS Access
توابع | توضیحات |
---|---|
UCASE(c) | یک حوزه را به صورت بزرگ تبدیل میکند |
LCASE(c) | یک حوزه را به صورت کوچک تبدیل میکند |
MID(c,start[,end]) | یک کاراکتر از یک حوزه متنی استخراج میکند |
LEN(c) | طول یک حوزه متنی را بازمیگرداند |
INSTR(c,char) | موقعیت یک کاراکتر معین شده در یک حوزه متنی را بازمیگرداند |
LEFT(c,number_of_char) | بخش سمت چپ یک حوزه مورد درخواست را بازمیگرداند |
RIGHT(c,number_of_char) | بخش سمت راست یک حوزه مورد درخواست را بازمیگرداند |
ROUND(c,decimals) | بازگشت یک عدد به اعداد بعد از اعشار معین شده |
MOD(x,y) | مابقیه عمل تقسیم را بازمیگرداند |
NOW() | تاریخ سیستم فعلی را بازمیگرداند |
FORMAT(c,format) | تغییر نحوه نمایش یک حوزه خاص |
DATEDIFF(d,date1,date2) | برای انجام محاسبات تاریخ استفاده میشود |