0% found this document useful (0 votes)
16 views

String Function LEN Left Right String Concat

This document provides examples of using string, date, aggregate and filtering functions in Microsoft SQL Server. It demonstrates functions to manipulate and extract parts of strings like LEFT, RIGHT, LEN. It shows date functions to calculate differences and add/subtract dates like DATEDIFF, DATEADD. Aggregate functions like COUNT, SUM, AVG are illustrated. Methods for filtering query results using TOP, OFFSET and FETCH are also provided.
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

String Function LEN Left Right String Concat

This document provides examples of using string, date, aggregate and filtering functions in Microsoft SQL Server. It demonstrates functions to manipulate and extract parts of strings like LEFT, RIGHT, LEN. It shows date functions to calculate differences and add/subtract dates like DATEDIFF, DATEADD. Aggregate functions like COUNT, SUM, AVG are illustrated. Methods for filtering query results using TOP, OFFSET and FETCH are also provided.
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

STRING FUNCTION

LEN
LEFT
RIGHT

select shipname,shipaddress from sales.Orders


select shipname,len(shipaddress) from sales.Orders
select shipname,left(shipaddress,4) from sales.Orders
select shipname,right(shipaddress,4) from sales.Orders

STRING CONCAT

select * from sales.Orders

SUBSTRING

select shipname+' '+shipaddress as NewAddress from sales.Orders


select shipname+' '+shipaddress as NewAddress,SUBSTRING(shipname+'
'+shipaddress,1,10) as NewString from sales.orders
select shipname+' '+shipaddress as NewAddress,SUBSTRING(shipname+'

REPLACE

'+shipaddress,10,15) as NewString from sales.orders


select lastname,firstname,title from hr.Employees

UPPER CASE
LOWER

select lastname,firstname,replace(title,'Sales','IT') from hr.Employees


select Upper(lastname),firstname,replace(title,'Sales','IT') from hr.Employees
select Upper(lastname),lower(firstname),replace(title,'Sales','IT') from

LTRIM

hr.Employees
select 'Hasan'+' '+'

RTRIM

select 'Hasan'+' '+ltrim('


select 'Hasan '+' '+'Habib'

Habib'
Habib')

select rtrim('Hasan

')+' '+'Habib'

select 'This is a '+'

test

'+'#'

REPLICATE

select 'This is a '+ltrim(rtrim('


select 'Sun'

AGGREGATE
COUNT

select replicate('Sun ',5)


select * from Sales.OrderDetails
select orderid,count(productid) as NumberofProduct from Sales.OrderDetails

SUM

group by orderid
select orderid,sum(productid) as TotalNumberOfProduct from
Sales.OrderDetails
group by orderid

test

'))+'#'

MIN

select orderid,min(productid) as MinimumNumberOfProduct from


Sales.OrderDetails

MAX

group by ordered
select orderid,max(productid) as MaximumNumberOfProduct from
Sales.OrderDetails

AVG

group by ordered
select orderid,Avg(productid) as AverageNumberOfProduct from
Sales.OrderDetails

DATE AND TIME

group by ordered
select '20130101',getdate()

FUNCTION
DAY WISE DATEDIFF
YEAR WISE DATEDIFF

select '20130101',getdate(), datediff(day,'20130101',getdate())


select '20130101',getdate(), datediff(month,'20130101',getdate())
select '20130101',getdate(), datediff(year,'20130101',getdate())

DAY WISE DATEADD

select '20120101',getdate(), datediff(year,'20120101',getdate())


select '20130101',getdate(), dateadd(day, 1,getdate())

MONTH WISE

select '20130101',getdate(), dateadd(day, 1,'20130101')


select '20130101',getdate(), dateadd(month, 1,'20130101')

DATEADD
YEAR WISE DATEADD
YEAR WISE DATEADD

select '20130101',getdate(), dateadd(year, 1,'20130101')q


select '20130101',getdate(), dateadd(year, -1,'20130101')

OLD DATE
MONTH WISE

select '20130101',getdate(), dateadd(month, -1,'20130101')

DATEADD OLD DATE


DAY WISE DATEADD

select '20130101',getdate(), dateadd(day, -1,'20130101')

MONTH WISE DATEDIFF

OLD DATE

FIND LAST DATE OF

select '20130201', dateadd(day, 30,'20130201') -- not desired output

A MONTH

select '20130201', dateadd(day, 29,'20130201') -- not desired output


select '20130201', dateadd(day, 28,'20130201') -- not desired output
select '20130201', dateadd(day, 27,'20130201') -- not desired output
select '20130201', dateadd(month, 1,'20130201')-1 -- desired output
select '20130410', dateadd(month,1,dateadd(day,day('20130410')*1,'20130410')) ---dateadd(month, 1,'20130410')-1
select '20130510', dateadd(month,1,dateadd(day,day('20130510')*1,'20130510'))
select '20130610', dateadd(month,1,'20130610')day(dateadd(month,1,'20130610'))
select '20130210', dateadd(month,1,'20130210')-

EOMONTH

day(dateadd(month,1,'20130210'))
select '20130210',eomonth('20130210')
select '20130210',eomonth('20130510')
select '20130210',eomonth('20130610')
select '20130210',eomonth('20130610',-1)
select '20130210',eomonth('20130610',1)
select '20130210',dateadd(day,1,eomonth('20130610',-1))
select '20130210',dateadd(day,1,eomonth('20130510',-1))
select '20130210',dateadd(day,1,eomonth('20130210',-1))
select * from sales.Orders where year(orderdate)=2008
select * from sales.Orders where year(orderdate)=2008 and
month(orderdate)=1 and day(orderdate)=1
select * from sales.Orders where orderdate='20080101'

FORMAT DATE WITH

select orderid,orderdate from sales.Orders where orderdate='20080101'

CONVERT

select orderid,orderdate,convert(varchar,orderdate,106) from sales.Orders


where orderdate='20080101'
select orderid,orderdate,convert(varchar,orderdate,108) from sales.Orders
where orderdate='20080101'
select orderid,orderdate,convert(varchar,orderdate,109) from sales.Orders
where orderdate='20080101'

ROUND

select orderid,freight from sales.Orders


select orderid,freight,round(freight,0) from sales.Orders
select orderid,freight,round(freight,0) as RFreight from sales.Orders
where round(freight,0)>15 and round(freight,0)<25
order by RFreight
/*CASE
WHEN <exp1> IS NOT NULL THEN <exp1>
WHEN <exp2> IS NOT NULL THEN <exp2>

WHEN <expn> IS NOT NULL THEN <expn>


ELSE NULL
END */
select orderid,freight,round(freight,0),
(case
when round(freight,0)<=11 then 'very Low Freight'
when round(freight,0)>=12 and round(freight,0)<16 then 'Low Freight'
when round(freight,0)>=16 and round(freight,0)<25 then 'Mid Freight'
when round(freight,0)>=25 and round(freight,0)<30 then 'High Freight'
else 'very high Freight'
end
) as FreightChose from sales.Orders

IIF

select orderid,freight,(iif(freight>10,'high','low')) as FreightStatus from


sales.Orders
select orderid,freight,(iif(freight>10,iif(freight>20,'very high','high'),'low')) as

CHOOSE

FreightStatus from sales.Orders


select choose(2,'hasan','habib','kamal','Jamal')
select choose(4,'hasan','habib','kamal','Jamal')

FILTERING USING

select choose(5,'hasan','habib','kamal','Jamal')
SELECT TOP 30 orderid, orderdate, custid, empid

TOP

FROM Sales.Orders
ORDER BY orderdate
SELECT TOP 10 orderid, orderdate, custid, empid
FROM Sales.Orders
ORDER BY orderdate desc
SELECT TOP 1 percent orderid, orderdate, custid, empid
FROM Sales.Orders
ORDER BY orderdate
SELECT TOP 10 percent orderid, orderdate, custid, empid
FROM Sales.Orders
ORDER BY orderdate

SELECT TOP 10 percent orderid, orderdate, custid, empid


FROM Sales.Orders
ORDER BY orderdate desc,orderid DESC
SELECT TOP 10 orderid, orderdate, custid, empid
FROM Sales.Orders
ORDER BY orderdate desc,orderid DESC

FILTERING DATA

SELECT orderid, orderdate, custid, empid

WITH OFFSET-

FROM Sales.Orders

FETCH

ORDER BY orderdate DESC, orderid DESC

SKIP FIRST 10 ROWS

OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;


SELECT orderid, orderdate, custid, empid

SHOW NEXT 10 ROWS

FROM Sales.Orders
ORDER BY orderdate DESC, orderid DESC

SKIP FIRST 10 ROWS

OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;


SELECT orderid, orderdate, custid, empid

SHOW ALL ROWS

FROM Sales.Orders
ORDER BY orderdate DESC, orderid DESC

SHOW FIRST 10

OFFSET 10 rows
SELECT orderid, orderdate, custid, empid

ROWS

FROM Sales.Orders
ORDER BY orderdate DESC, orderid DESC

SKIP FIRST 2 ROWS

offset 0 rows fetch first 10 rows only


SELECT orderid, orderdate, custid, empid

AND SHOW FIRST 10

FROM Sales.Orders

ROWS

ORDER BY orderdate DESC, orderid DESC


offset 2 rows fetch first 10 rows only

You might also like