Tutorialsteacher

Follow Us

Articles
  • C#
  • C# OOP
  • ASP.NET Core
  • ASP.NET MVC
  • LINQ
  • Inversion of Control (IoC)
  • Web API
  • JavaScript
  • TypeScript
  • jQuery
  • Angular 11
  • Node.js
  • D3.js
  • Sass
  • Python
  • Go lang
  • HTTPS (SSL)
  • Regex
  • SQL
  • SQL Server
  • PostgreSQL
  • MongoDB
  • SQL Server - Get Started
  • Install SQL Server
  • SQL Server Management Studio
  • SQL Server - Windows Authentication
  • SQL Server - Authentication
  • SQL Server - Create New User
  • SQL Server - GRANT/REVOKE Permissions to User
  • SQL Server - Data Types
  • SQL Server - Naming Conventions
  • SQL Server - CREATE Database
  • SQL Server - CREATE Table
  • Add Columns
  • Identity Column
  • Rename Column, Table
  • Drop Columns
  • SQL Server - Schema
  • SQL Server - Tables Relations
  • SQL Server - Primary Keys
  • Modify/Delete Primary Keys
  • SQL Server - Foreign Keys
  • Modify/Delete Foreign Keys
  • SQL Server - Check Constraints
  • SQL Server - Unique Constraints
  • SQL Server - Views
  • Modify/Delete Views
  • SQL Server - Functions
  • SQL Server - Stored Procedures
  • Stored Procedure Parameters
  • SQL Server - Indexes
  • Non-clustered Indexes
  • Modify/Delete Indexes
  • SQL Server - Triggers
  • DDL Triggers
  • LOGON Triggers
  • Enable/Disable Triggers
  • Modify/Delete Triggers
  • SQL Server - Sequence
  • SQL Server - Synonyms
  • SQL Server - IF ELSE Statement
  • SQL Server - Loops
  • SQL Server - Insert Data
  • SQL Server - Update Data
  • SQL Server - Delete Data
  • SQL Server - Select Query
  • WHERE Clause
  • GROUP BY Clause
  • HAVING Clause
  • ORDER BY Clause
  • SQL Server - Inner Join
  • Left Join
  • Right Join
  • Full Join
  • Self Join
  • Dynamic SQL
  • Built-in Functions
Entity Framework Extensions - Boost EF Core 9
  Bulk Insert
  Bulk Delete
  Bulk Update
  Bulk Merge

SQL Server PATINDEX() Function: Searches for String Pattern

In SQL Server, PATINDEX() searches for the first occurrence of a pattern in a given expression and returns its starting position. It returns zero if the pattern is not found.

PATINDEX(pattern,  input_string)

Parameters

  1. Pattern: A character expression that is to be found. It must start and end with % character. Wildcard characters like %, _, [], [^] can be used in a pattern.
  2. input_string: The string in which the pattern is to be searched. It can be a constant string or a table column.

Return Value

Returns bigint if input string is of varchar(max) or nvarchar(max) data type, else returns int.

The starting position for PATINDEX() is NULL. If either pattern or input string is NULL then PATINDEX() returns NULL.

Example 1:

The following example finds the 'llo' in the input string 'Hello! Have a nice day.'. The pattern should be surrounded by %.

Example: PATINDEX()
SELECT PATINDEX ('%llo%', 'Hello! Have a nice day.') AS PatternPosition

Example 2:

In the following example, we find the pattern 'abc.com' in the Email column of the Employee table. All rows having this pattern in their Email column, return the starting position of the pattern and rows not having this pattern in their Email returns zero.

Example: PATINDEX()
SELECT Email, PATINDEX('%abc.com%', EMail) AS PatternPosition FROM Employee

Example 3:

The following example uses the wildcard characters % and _ in the searching pattern.

The % matches any string of any length and _ matches for any single character.

Example: PATINDEX()
SELECT PATINDEX('%ni_e%', 'Hello! Have a nice day.') AS PatternPosition

Example 4:

The following example shows when a pattern is not present in the input string.

Example: PATINDEX()
SELECT PATINDEX('%world%', 'Hello! Have a nice day.') AS PatternPosition

Example 5:

The following example shows that the PATINDEX() is not case-sensitive.

Example: PATINDEX()
SELECT PATINDEX('%hello%', 'Hello! Have a nice day.') AS PatternPosition
TUTORIALSTEACHER.COM

TutorialsTeacher.com is your authoritative source for comprehensive technologies tutorials, tailored to guide you through mastering various web and other technologies through a step-by-step approach.

Our content helps you to learn technologies easily and quickly for learners of all levels. By accessing this platform, you acknowledge that you have reviewed and consented to abide by our Terms of Use and Privacy Policy, designed to safeguard your experience and privacy rights.

[email protected]

ABOUT USTERMS OF USEPRIVACY POLICY
copywrite-symbol

2024 TutorialsTeacher.com. (v 1.2) All Rights Reserved.