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

System Functions 1. String Functions

This document describes different types of functions in SQL Server including: 1. String, date, math, and other common functions 2. User-defined functions that can return a single value, table, or perform multiple statements including conditional logic 3. Examples are provided of creating and using different types of user-defined functions
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

System Functions 1. String Functions

This document describes different types of functions in SQL Server including: 1. String, date, math, and other common functions 2. User-defined functions that can return a single value, table, or perform multiple statements including conditional logic 3. Examples are provided of creating and using different types of user-defined functions
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

System Functions

1. String functions
a. substring
b. right
c. upper
d. lower
e. charindex
f. patindex
g. ascii
h. char
i. ltrim
j. rtrim
k. space
l. str
m. soundex
n. replicate
2. Date convert functions
Eg : select convert(varchar(8),pubdate,2) from titles where title_id =
'MC3026
a. 2
yy.mm.dd
b. 3
dd/mm/yy
c. 4
dd.mm.yy
d. 5
dd-mm-yy
e. 102
yyyy.mm.dd
f. 103
dd/mm/yyyy
g. 104
dd.mm.yyyy
h. 105
dd-mm-yyyy
3. Date functions
a. datename
b. datepart
c. dateadd
d. datediff
4. Maths functions
a. abs
b. ceiling
c. floor
d. round
e. exp
f. rand
g. log
h. pi
i. power
j. sqrt
k. sin
l. cos
m. tan
5. ISNULL

6. COALESCE

User defined Functions


1.

User-Defined Function
EG :

CREATE FUNCTION whichContinent


(@Country nvarchar(15))
RETURNS varchar(30)
AS
BEGIN
declare @Return varchar(30)
select @return = case @Country
when 'Argentina' then 'South America'
when 'Belgium' then 'Europe'
when 'Brazil' then 'South America'
when 'Canada' then 'North America'
when 'Denmark' then 'Europe'
when 'Finland' then 'Europe'
when 'France' then 'Europe'
else 'Unknown'
end
return @return
end
--/// you can use the functions inside the column name

print dbo.WhichContinent('USA')

select dbo.WhichContinent(Customers.Country), customers.*


from customers
create table test
(Country varchar(15),
Continent as (dbo.WhichContinent(Country)))
insert into test (country)
values ('USA')
select * from test

2.

Inline Table-Value

CREATE FUNCTION CustomersByContinent


(@Continent varchar(30))
RETURNS TABLE
AS
RETURN
SELECT dbo.WhichContinent(Customers.Country) as continent,
customers.*
FROM customers
WHERE dbo.WhichContinent(Customers.Country) = @Continent
GO
SELECT * from CustomersbyContinent('North America')
SELECT * from CustomersByContinent('South America')
SELECT * from customersbyContinent('Unknown')

3.

Multi-statement Table-Value

CREATE FUNCTION dbo.customersbycountry ( @Country varchar(15) )


RETURNS
@CustomersbyCountryTab table (
[CustomerID] [nchar] (5), [CompanyName] [nvarchar] (40),
[ContactName] [nvarchar] (30), [ContactTitle] [nvarchar] (30),
[Address] [nvarchar] (60), [City] [nvarchar] (15),
[PostalCode] [nvarchar] (10), [Country] [nvarchar] (15),
[Phone] [nvarchar] (24), [Fax] [nvarchar] (24)
)
AS
BEGIN
INSERT INTO @CustomersByCountryTab
SELECT [CustomerID],
[CompanyName],
[ContactName],
[ContactTitle],
[Address],
[City],
[PostalCode],
[Country],
[Phone],
[Fax]
FROM [Northwind].[dbo].[Customers]
WHERE country = @Country
DECLARE @cnt INT
SELECT @cnt = COUNT(*) FROM @customersbyCountryTab
IF @cnt = 0
INSERT INTO @CustomersByCountryTab (
[CustomerID],

[CompanyName],
[ContactName],
[ContactTitle],
[Address],
[City],
[PostalCode],
[Country],
[Phone],
[Fax] )
VALUES ('','No Companies Found','','','','','','','','')
RETURN
END
GO
SELECT * FROM dbo.customersbycountry('USA')
SELECT * FROM dbo.customersbycountry('CANADA')
SELECT * FROM dbo.customersbycountry('ADF')

You might also like