فهرست سرفصل‌های SQL
خانه (HOME) مقدمه (Intro) نحو (Syntax) انتخاب (Select) انتخاب یکتا (Select Distinct) شرط WHERE (Where) مرتب سازی (Order By) و منطقی (And) یا منطقی (Or) نفی (Not) درج (Insert Into) مقادیر Null (Null Values) به روزرسانی (Update) حذف (Delete) انتخاب برتر (Select Top) توابع تجمعی (Aggregate Functions) کمینه و بیشینه (Min and Max) شمارش (Count) جمع (Sum) میانگین (Avg) الگویابی (Like) کاراکترهای عام (Wildcards) عضویت (In) بین (Between) نام مستعار (Aliases) جوین ها (Joins) اینر جوین (Inner Join) لفت جوین (Left Join) رایت جوین (Right Join) فول جوین (Full Join) سلف جوین (Self Join) یونیون (Union) یونیون آل (Union All) گروه بندی (Group By) Having (Having) وجود (Exists) Any, All (Any, All) انتخاب به جدول جدید (Select Into) درج از انتخاب (Insert Into Select) Case (Case) توابع Null (Null Functions) رویه های ذخیره شده (Stored Procedures) کامنت ها (Comments) عملگرها (Operators) ساخت پایگاه داده (Create DB) حذف پایگاه داده (Drop DB) پشتیبان گیری (Backup DB) ساخت جدول (Create Table) حذف جدول (Drop Table) تغییر جدول (Alter Table) قیود (Constraints) غیرتهی (Not Null) یکتا (Unique) کلید اصلی (Primary Key) کلید خارجی (Foreign Key) Check (Check) پیش فرض (Default) ایندکس (Index) افزایش خودکار (Auto Increment) تاریخ ها (Dates) نماها (Views) تزریق SQL (SQL Injection) میزبانی (Hosting) انواع داده (Data Types) کلیدواژه ها (SQL Keywords) ADD (ADD) ADD CONSTRAINT (ADD CONSTRAINT) ALL (ALL) ALTER (ALTER) ALTER COLUMN (ALTER COLUMN) ALTER TABLE (ALTER TABLE) AND (AND) ANY (ANY) AS (AS) ASC (ASC) BACKUP DATABASE (BACKUP DATABASE) BETWEEN (BETWEEN) CASE (CASE) CHECK (CHECK) COLUMN (COLUMN) CONSTRAINT (CONSTRAINT) CREATE (CREATE) CREATE DATABASE (CREATE DATABASE) CREATE INDEX (CREATE INDEX) CREATE OR REPLACE VIEW (CREATE OR REPLACE VIEW) CREATE TABLE (CREATE TABLE) CREATE PROCEDURE (CREATE PROCEDURE) CREATE UNIQUE INDEX (CREATE UNIQUE INDEX) CREATE VIEW (CREATE VIEW) DATABASE (DATABASE) DEFAULT (DEFAULT) DELETE (DELETE) DESC (DESC) DISTINCT (DISTINCT) DROP (DROP) DROP COLUMN (DROP COLUMN) DROP CONSTRAINT (DROP CONSTRAINT) DROP DATABASE (DROP DATABASE) DROP DEFAULT (DROP DEFAULT) DROP INDEX (DROP INDEX) DROP TABLE (DROP TABLE) DROP VIEW (DROP VIEW) EXEC (EXEC) EXISTS (EXISTS) FOREIGN KEY (FOREIGN KEY) FROM (FROM) FULL OUTER JOIN (FULL OUTER JOIN) GROUP BY (GROUP BY) HAVING (HAVING) IN (IN) INDEX (INDEX) INNER JOIN (INNER JOIN) INSERT INTO (INSERT INTO) INSERT INTO SELECT (INSERT INTO SELECT) IS NULL (IS NULL) IS NOT NULL (IS NOT NULL) JOIN (JOIN) LEFT JOIN (LEFT JOIN) LIKE (LIKE) LIMIT (LIMIT) NOT (NOT) NOT NULL (NOT NULL) OR (OR) ORDER BY (ORDER BY) OUTER JOIN (OUTER JOIN) PRIMARY KEY (PRIMARY KEY) PROCEDURE (PROCEDURE) RIGHT JOIN (RIGHT JOIN) ROWNUM (ROWNUM) SELECT (SELECT) SELECT DISTINCT (SELECT DISTINCT) SELECT INTO (SELECT INTO) SELECT TOP (SELECT TOP) SET (SET) TABLE (TABLE) TOP (TOP) TRUNCATE TABLE (TRUNCATE TABLE) UNION (UNION) UNION ALL (UNION ALL) UNIQUE (UNIQUE) UPDATE (UPDATE) VALUES (VALUES) VIEW (VIEW) WHERE (WHERE) توابع MySQL (MySQL Functions) ASCII (ASCII) CHAR_LENGTH (CHAR_LENGTH) CHARACTER_LENGTH (CHARACTER_LENGTH) CONCAT (CONCAT) CONCAT_WS (CONCAT_WS) FIELD (FIELD) FIND_IN_SET (FIND_IN_SET) FORMAT (FORMAT) INSERT (INSERT) INSTR (INSTR) LCASE (LCASE) LEFT (LEFT) LENGTH (LENGTH) LOCATE (LOCATE) LOWER (LOWER) LPAD (LPAD) LTRIM (LTRIM) MID (MID) POSITION (POSITION) REPEAT (REPEAT) REPLACE (REPLACE) REVERSE (REVERSE) RIGHT (RIGHT) RPAD (RPAD) RTRIM (RTRIM) SPACE (SPACE) STRCMP (STRCMP) SUBSTR (SUBSTR) SUBSTRING (SUBSTRING) SUBSTRING_INDEX (SUBSTRING_INDEX) TRIM (TRIM) UCASE (UCASE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATAN2 (ATAN2) AVG (AVG) CEIL (CEIL) CEILING (CEILING) COS (COS) COT (COT) COUNT (COUNT) DEGREES (DEGREES) DIV (DIV) EXP (EXP) FLOOR (FLOOR) GREATEST (GREATEST) LEAST (LEAST) LN (LN) LOG (LOG) LOG10 (LOG10) LOG2 (LOG2) MAX (MAX) MIN (MIN) MOD (MOD) PI (PI) POW (POW) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SUM (SUM) TAN (TAN) TRUNCATE (TRUNCATE) ADDDATE (ADDDATE) ADDTIME (ADDTIME) CURDATE (CURDATE) CURRENT_DATE (CURRENT_DATE) CURRENT_TIME (CURRENT_TIME) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) CURTIME (CURTIME) DATE (DATE) DATEDIFF (DATEDIFF) DATE_ADD (DATE_ADD) DATE_FORMAT (DATE_FORMAT) DATE_SUB (DATE_SUB) DAY (DAY) DAYNAME (DAYNAME) DAYOFMONTH (DAYOFMONTH) DAYOFWEEK (DAYOFWEEK) DAYOFYEAR (DAYOFYEAR) EXTRACT (EXTRACT) FROM_DAYS (FROM_DAYS) HOUR (HOUR) LAST_DAY (LAST_DAY) LOCALTIME (LOCALTIME) LOCALTIMESTAMP (LOCALTIMESTAMP) MAKEDATE (MAKEDATE) MAKETIME (MAKETIME) MICROSECOND (MICROSECOND) MINUTE (MINUTE) MONTH (MONTH) MONTHNAME (MONTHNAME) NOW (NOW) PERIOD_ADD (PERIOD_ADD) PERIOD_DIFF (PERIOD_DIFF) QUARTER (QUARTER) SECOND (SECOND) SEC_TO_TIME (SEC_TO_TIME) STR_TO_DATE (STR_TO_DATE) SUBDATE (SUBDATE) SUBTIME (SUBTIME) SYSDATE (SYSDATE) TIME (TIME) TIME_FORMAT (TIME_FORMAT) TIME_TO_SEC (TIME_TO_SEC) TIMEDIFF (TIMEDIFF) TIMESTAMP (TIMESTAMP) TO_DAYS (TO_DAYS) WEEK (WEEK) WEEKDAY (WEEKDAY) WEEKOFYEAR (WEEKOFYEAR) YEAR (YEAR) YEARWEEK (YEARWEEK) BIN (BIN) BINARY (BINARY) CASE (CASE) CAST (CAST) COALESCE (COALESCE) CONNECTION_ID (CONNECTION_ID) CONV (CONV) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) DATABASE (DATABASE) IF (IF) IFNULL (IFNULL) ISNULL (ISNULL) LAST_INSERT_ID (LAST_INSERT_ID) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SYSTEM_USER (SYSTEM_USER) USER (USER) VERSION (VERSION) توابع SQL Server (SQL Server Functions) ASCII (ASCII) CHAR (CHAR) CHARINDEX (CHARINDEX) CONCAT (CONCAT) اتصال با + (Concat with +) CONCAT_WS (CONCAT_WS) DATALENGTH (DATALENGTH) DIFFERENCE (DIFFERENCE) FORMAT (FORMAT) LEFT (LEFT) LEN (LEN) LOWER (LOWER) LTRIM (LTRIM) NCHAR (NCHAR) PATINDEX (PATINDEX) QUOTENAME (QUOTENAME) REPLACE (REPLACE) REPLICATE (REPLICATE) REVERSE (REVERSE) RIGHT (RIGHT) RTRIM (RTRIM) SOUNDEX (SOUNDEX) SPACE (SPACE) STR (STR) STUFF (STUFF) SUBSTRING (SUBSTRING) TRANSLATE (TRANSLATE) TRIM (TRIM) UNICODE (UNICODE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATN2 (ATN2) AVG (AVG) CEILING (CEILING) COUNT (COUNT) COS (COS) COT (COT) DEGREES (DEGREES) EXP (EXP) FLOOR (FLOOR) LOG (LOG) LOG10 (LOG10) MAX (MAX) MIN (MIN) PI (PI) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SQUARE (SQUARE) SUM (SUM) TAN (TAN) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) DATEADD (DATEADD) DATEDIFF (DATEDIFF) DATEFROMPARTS (DATEFROMPARTS) DATENAME (DATENAME) DATEPART (DATEPART) DAY (DAY) GETDATE (GETDATE) GETUTCDATE (GETUTCDATE) ISDATE (ISDATE) MONTH (MONTH) SYSDATETIME (SYSDATETIME) YEAR (YEAR) CAST (CAST) COALESCE (COALESCE) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) IIF (IIF) ISNULL (ISNULL) ISNUMERIC (ISNUMERIC) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SESSIONPROPERTY (SESSIONPROPERTY) SYSTEM_USER (SYSTEM_USER) USER_NAME (USER_NAME) توابع MS Access (MS Access Functions) Asc (Asc) Chr (Chr) اتصال با & (Concat with &) CurDir (CurDir) Format (Format) InStr (InStr) InstrRev (InstrRev) LCase (LCase) Left (Left) Len (Len) LTrim (LTrim) Mid (Mid) Replace (Replace) Right (Right) RTrim (RTrim) Space (Space) Split (Split) Str (Str) StrComp (StrComp) StrConv (StrConv) StrReverse (StrReverse) Trim (Trim) UCase (UCase) Abs (Abs) Atn (Atn) Avg (Avg) Cos (Cos) Count (Count) Exp (Exp) Fix (Fix) Format (Number) Int (Int) Max (Max) Min (Min) Randomize (Randomize) Rnd (Rnd) Round (Round) Sgn (Sgn) Sqr (Sqr) Sum (Sum) Val (Val) Date (Date) DateAdd (DateAdd) DateDiff (DateDiff) DatePart (DatePart) DateSerial (DateSerial) DateValue (DateValue) Day (Day) Format (Date) Hour (Hour) Minute (Minute) Month (Month) MonthName (MonthName) Now (Now) Second (Second) Time (Time) TimeSerial (TimeSerial) TimeValue (TimeValue) Weekday (Weekday) WeekdayName (WeekdayName) Year (Year) کاربر جاری (CurrentUser) Environ (Environ) IsDate (IsDate) IsNull (IsNull) IsNumeric (IsNumeric) راهنمای سریع (SQL Quick Ref) نمونه ها (SQL Examples) ویرایشگر آنلاین (SQL Editor) کوییز (SQL Quiz) تمرین ها (SQL Exercises) سرور (SQL Server) سیلابس (SQL Syllabus) برنامه مطالعه (SQL Study Plan) بوت کمپ (SQL Bootcamp) گواهینامه (SQL Certificate) آموزش شرکتی (SQL Training)
نتیجه‌ای برای جستجو یافت نشد.
SQL

SQL — COALESCE (COALESCE)

آخرین بروزرسانی: 1404/08/17

COALESCE (COALESCE)

تابع COALESCE در MySQL اولین مقدار «نامقدار (Non-NULL)» را برمی گرداند. «NULL» یعنی مقدار نامشخص؛ مثل جای خالی در برگه امتحان.

تعریف ساده و کاربرد

COALESCE از چپ به راست بررسی می کند. سپس اولین مقدارِ غیر NULL را برمی گرداند. بنابراین، جای خالی را با مقدار جایگزین پر می کند.

سینتکس استاندارد

COALESCE(val1, val2, ..., val_n);

مشاهده در ادیتور

مثال های اجراشدنی

اولین مقدار غیر NULL را برگردان

این مثال بین چند NULL می گردد و اولین مقدار را می یابد.

SELECT
  COALESCE(NULL, NULL, NULL, 'W3Schools.com', NULL, 'Example.com');

مشاهده در ادیتور

ترکیب عدد و متن در فهرست

باز هم اولین مقدار غیر NULL انتخاب می شود.

SELECT
  COALESCE(NULL, 1, 2, 'W3Schools.com');

مشاهده در ادیتور

تمرین سه مرحله ای

  1. چند مقدار شامل NULL آماده کن.
  2. ترتیب از مهم ترین به کم اهمیت بچین.
  3. COALESCE را اجرا کن و خروجی را بررسی کن.

نکته ها و هشدارها

نکته: اگر فقط دو گزینه داری، IFNULL ساده تر است. برای منطق پیچیده تر از CASE استفاده کن. همچنین لینک تمرینی COALESCE را نشانه گذاری کن.

هشدار: نوع داده خروجی تابع، از اولین مقدار غیر NULL گرفته می شود. بنابراین انواع ناسازگار می توانند خطا بدهند.

جمع بندی سریع

  • COALESCE اولین مقدار غیر NULL را می دهد.
  • ترتیب آرگومان ها بسیار مهم است.
  • برای دو گزینه، IFNULL کافی است.
  • برای منطق شرطی، CASE مناسب تر است.