1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Using Functions phần 1 pptx

8 344 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Using functions
Định dạng
Số trang 8
Dung lượng 32,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Table 4.3: AGGREGATE FUNCTIONS AVG[ ALL | DISTINCT ] expression Returns the average of the values in a group.. For example, the following statement gets the average of the UnitPrice col

Trang 1

Using Functions

SQL Server provides a number of functions you can use to get values from the database For example, you can use the COUNT() function to get the number of rows in a table The various functions are split into the categories shown in Table 4.2

Table 4.2: FUNCTIONS

FUNCTION

CATEGORY

DESCRIPTION

Aggregate Return information based on one or more rows in a table

Mathematical Perform calculations

String Perform string manipulations

Date and time Work with dates and times

System Return information on SQL Server

Configuration Return information on the configuration of the server

Cursor Return information on cursors

Metadata Return information on the database and the various database

items, such as tables

Security Return information on the database users and roles

System statistical Return statistical information on SQL Server

Text and image Perform text and image manipulations

You'll learn about the first five functions in the following sections The other categories

of functions are beyond the scope of this book, as they are of primary interest to database administrators You can learn about those functions in the SQL Server Online Books documentation

Using Aggregate Functions

Earlier, you saw the use of the COUNT() aggregate function to get the number of rows COUNT() and some other aggregate functions you can use with SQL Server are listed in Table 4.3 The expression you may pass to the aggregate functions is typically a single column, but it can also be a calculated field ALL means that the function is applied to all the column values, while DISTINCT means that the function is applied only to unique values ALL is the default

Table 4.3: AGGREGATE FUNCTIONS

Trang 2

Table 4.3: AGGREGATE FUNCTIONS

AVG([ ALL | DISTINCT ]

expression)

Returns the average of the values in a group

COUNT([ ALL | DISTINCT ]

expression ] | *)

Returns the number of rows in a group COUNT() returns an int data type value

COUNT_BIG([ ALL |

DISTINCT ] expression} | *)

Returns the number of values in a group.COUNT_BIG()returns a bigint data type value MAX([ ALL | DISTINCT ]

expression)

Returns the highest value

MIN([ ALL | DISTINCT ]

expression)

Returns the lowest value

SUM([ ALL | DISTINCT ]

expression)

Returns the sum of any non-null values SUM() can

be used only with numeric expressions

STDEV(expression) Returns the standard deviation for all the values

STDEVP(expression) Returns the standard deviation for the population of

all the values

VAR(expression) Returns the variance for all the values

VARP(expression) Returns the variance for the population of all the

values

Let's consider examples that use some of the aggregate functions

You use the AVG() function to get the average value For example, the following

statement gets the average of the UnitPrice column of the Products table using the AVG() function:

SELECT AVG(UnitPrice)

FROM Products;

This example returns 28.8663 Since ALL is the default used with functions, this example uses every row in the Products table when performing the calculation If you wanted to just use unique values in the calculation, then you use the DISTINCT option, as shown in the following example:

SELECT AVG(DISTINCT UnitPrice)

FROM Products;

Trang 3

In addition to passing a column to a function, you can also pass a calculated field For example, the following statement passes the calculated field UnitPrice * 1.20 to the AVG() function:

SELECT AVG(UnitPrice * 1.20)

FROM Products;

This example returns 34.639636; the average after the UnitPrice values have been increased 20 percent

You can limit the rows passed to a function using a WHERE clause For example, the following SELECT statement calculates the average UnitPrice value for the rows with a CategoryID of 1:

SELECT AVG(UnitPrice)

FROM Products

WHERE CategoryID = 1;

This example returns 37.9791

You can combine a function with a GROUP BY clause to perform a calculation on each group of rows For example, the following SELECT statement calculates the average UnitPrice value for each block of rows grouped by CategoryID:

SELECT AVG(UnitPrice)

FROM Products

GROUP BY CategoryID;

Figure 4.2 shows the results of this SELECT statement

Trang 4

Figure 4.2: Using the AVG() function to compute the average value of the UnitPrice column

You can also supply a HAVING clause to eliminate groups used in a SELECT statement For example, the following statement adds a HAVING clause to the previous example to eliminate the groups that have an average value greater than 50:

SELECT AVG(UnitPrice)

FROM Products

GROUP BY CategoryID

HAVING AVG(UnitPrice) > 50;

This example returns 54.0066

Let's take a look at some of the other aggregate functions You get the total number of rows using the COUNT() function For example, the following statement gets the total number of rows in the Products table using the COUNT() function:

SELECT COUNT(*)

FROM Products;

Trang 5

You use the MAX() and MIN() functions to get the maximum and minimum values For example, the following statement uses these functions to get the maximum and minimum UnitPrice:

SELECT MAX(UnitPrice), MIN(UnitPrice)

FROM Products;

This example returns 263.5000 and 2.5000 for the respective maximum and minimum values

You use the SUM() function to get the total of any non-null values For example, the following statement gets the sum of the UnitPrice column values for each group of rows using the SUM() function:

SELECT SupplierID, SUM(UnitPrice) AS SumUnitPrice

FROM Products

GROUP BY SupplierID;

The GROUP BY clause of this example returns one row for each block of rows with identical SupplierID column values The SUM() function then adds up the UnitPrice column values for all the rows within each block and returns a single value For example, SUM() returns 47.0000 for the group where the SupplierID is 1 This is the sum of the UnitPrice column values for all the rows where the SupplierID is 1 Similarly, SUM() returns 81.4000 where the SupplierID is 2, and so on The AS clause in this example names the results returned by the SUM() function as SumUnitPrice

Figure 4.3 shows the results of this SELECT statement

Trang 6

Figure 4.3: Using the SUM() function to compute the total of the UnitPrice column

Using Mathematical Functions

The mathematical functions allow you to perform numerical operations, such as getting the absolute value of a number Table 4.4 lists the mathematical functions available in SQL Server The expression you may pass to the mathematical functions is typically a single column or value, but it can also be a calculated field

Table 4.4: MATHEMATICAL FUNCTIONS

ABS(expression) Returns the absolute value of expression This is always a

positive number

ACOS(expression) Returns the arccosine of expression

ASIN(expression) Returns the arcsine of expression

ATAN(expression) Returns the arctangent of expression

ATN2(expression1,

expression2)

Returns the arctangent of the angle between expression1 and expression2

Trang 7

Table 4.4: MATHEMATICAL FUNCTIONS

COS(expression) Returns the cosine of expression

COT(expression) Returns the cotangent of expression

DEGREES(expression) Converts the supplied angle in radians to an angle in degrees

EXP(expression) Returns the exponential value of expression

FLOOR(expression) Returns the largest integer less than or equal to expression LOG(expression) Returns the natural logarithm of expression

LOG10(expression) Returns the base-10 logarithm of expression

PI() Returns the mathematical constant Pi

POWER(expression, y) Returns the value of expression raised to the power y

RADIANS(expression) Converts the supplied angle in degrees to an angle in radians

RAND([expression]) Returns a random floating-point number between 0 and 1

The expression is an optional seed value that you may use to

generate the random number

ROUND(expression,

length [, function])

Returns the value of expression rounded or truncated to the number of decimal placed specified by length The optional function is used to specify the type of operation to perform: 0

(the default) rounds the number, and any other value truncates the number

SIGN(expression) Returns 1, 0, or -1 depending on the sign of expression

Returns 1 for a positive number, 0 for zero, or -1 for a negative number

SIN(expression) Returns the sine of expression

SQUARE(expression) Returns the square of expression

SQRT(expression) Returns the square root of expression

TAN(expression) Returns the tangent of expression

Let's consider examples that use some of the mathematical functions You use the ABS() function to get the absolute value The following example returns 10 and 15:

SELECT ABS(-10), ABS(15);

You use the ACOS(), ASIN(), and ATAN() functions to get the arccosine, arcsine, and arctangent of a number The following example returns 0.0, 1.5707963267948966, and 0.78539816339744828:

Trang 8

SELECT ACOS(1), ASIN(1), ATAN(1);

You use the CEILING() function to get the smallest integer greater than or equal to the value passed to it The following example returns 2 and -1:

SELECT CEILING(1.4), CEILING(-1.4);

You use the FLOOR() function to get the largest integer less than or equal to the value passed to it The following example returns 1 and -2:

SELECT FLOOR(1.4), FLOOR(-1.4);

You use the PI() function to get the mathematical constant Pi The following example returns 3.1415926535897931:

SELECT PI();

Ngày đăng: 14/12/2013, 13:15

TỪ KHÓA LIÊN QUAN