Skip to main content

Charindex function in sql server


Charindex is used to find the position of the expression in another expression.

Syntax:
select charindex(Exptofind ,Exptosearch ,[Start_Position])

Examples:

select charindex('a','Rakesh') [Position] -- Here 'a' position is 2
select charindex('H','Hello World') [Position] -- Here 'H' position is 1
select charindex(' ','C# corner') [Position] -- Here [Space] position is 3
select charindex('W','C# corner') [Position]--Here 'W' position is 0 beacuse there no char 'W' in search Exp
select charindex('a', NULL) -- if any of the exp is null then result also null
select charindex(NULL,'Rakesh') -- if any of the exp is null then result also null
select charindex('o','Hello World',6)--Here 6 is the start postion of char to find the Exp

Example-2:

create table Employee
(
 EmpId int identity(1,1) primary key,
 Empname varchar(100),
 Salary int not null,
 Deptid int  constraint Dept_Fk references Department(DeptId)

)

insert into Employee
select 'Rakesh',8000,1
union all
select 'raju',1000,2
union all
select 'Naresh',5000,1
union all
select 'Venkatesh',5800,3

select * from Employee








Query -1

To find ‘R’ Charindex position from Empname column from Employee table.

select Empname,charindex('R',Empname) as [Position] 
from  Employee







Query-2

To find Whose Empname starts with name ‘R’ using Charindex

select * from Employee
where charindex('R',Empname)=1



Comments

Popular posts from this blog

Rank Functions in SQL SERVER

1 . ROW_NUMBER () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns the sequantial number of a row within the a partition of result set at 1 for the first row of the each partition. 2. RANK () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns rank for rows within the partition of result set. 3. DENSE_RANK () OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Returns rank for rows within the partition of result set.With out any gaps in the ranking. 4. NTILE ( INTEGER_EXPRESSION ) OVER ( [PARTITION BY CLAUSE] < ORDER BY CLUASE >): Distributes the rows in an ordered partition into a specified number of groups. Examples: --create Employee table create table Employee (                 EmpId int identity ( 1 , 1 ) primary key ,              ...

Difference between LEN and DATALENGTH

LEN: LEN function returns the number of characters in a variable .it also removes the trailing spaces and then then return the length. Example-1: DECLARE @Name VARCHAR ( 20 )= 'rakesh' SELECT LEN ( @Name ) as [len] Output: Example-2: DECLARE @Name VARCHAR ( 20 )= 'rakesh ' SELECT LEN ( @Name ) as [len] Output: When we observe above variable assigned 'rakesh ' string after that added 3 spaces . Len function removes trailing spaces not leading spaces. DATALENGTH : DATALENG function returns the number of bytes occupy in a variable .it also considered the spaces also. Example-1: DECLARE @Name VARCHAR ( 20 )= 'rakesh' SELECT DATALENGTH ( @Name ) as [DataLength] Output: Example-2: DECLARE @Name VARCHAR ( 20 )= ' rakesh ' SELECT DATALENGTH ( @Name ) as [DataLength] Output: In above example before ' r ' and after ...