فهرست سرفصل‌های 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 — CHARINDEX (CHARINDEX)

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

CHARINDEX (CHARINDEX)

در این صفحه با تابع CHARINDEX آشنا می شوی. «زیررشته (Substring)» تکه ای از متن است. این تابع دنبال زیررشته می گردد و جایگاه را می دهد. مثل پیدا کردن حرف در یک کلمه.

تعریف، رفتار و کاربرد

تابع CHARINDEX() در یک رشته جستجو می کند و موقعیت را می دهد. اگر چیزی پیدا نشود، مقدار 0 برمی گردد. جستجو غیرحساس به حروف است. یعنی A و a یکسان هستند. پارامتر شروع هم اختیاری است.

سینتکس

CHARINDEX(substring, string, start)؛ start اختیاری است و از 1 شروع می شود.

مثال پایه

SELECT 
  CHARINDEX('t', 'Customer') AS MatchPosition;

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

مثال های بیشتر

جستجو با حروف بزرگ نیز همان نتیجه را می دهد.

SELECT 
  CHARINDEX('OM', 'Customer') AS MatchPosition;

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

می توانی جستجو را از موقعیت مشخص شروع کنی.

SELECT 
  CHARINDEX('mer', 'Customer', 3) AS MatchPosition;

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

نکات سریع و سازگاری

این تابع از SQL Server 2008 پشتیبانی می شود. در Azure SQL نیز کار می کند. خروجی عدد موقعیت است. برای مرور کامل، توابع SQL Server را ببین. همچنین راهنمای تابع CHARINDEX همیشه دم دست است.

گام های پیشنهاد ی تمرین

  1. یک رشته نمونه بساز و چاپ کن.
  2. CHARINDEX را روی چند زیررشته اجرا کن.
  3. پارامتر شروع را تغییر بده و نتیجه را مقایسه کن.

جمع بندی سریع

  • پیدا نکردن، مقدار 0 می دهد.
  • جستجو نسبت به حروف بی تفاوت است.
  • شروع جستجو اختیاری است.
  • خروجی موقعیت از 1 شروع می شود.