Chapter 6
Creating Calculated Fields

Introduction

In this chapter, you will learn how to implement calculated fields in your queries. You will become familiar with the arithmetic operators, the aggregate functions, the string functions, and the date and time functions. You will also find a reference for additional functions used in Microsoft Access’s SQL view.

Keywords

ABS ()

AVG ( )

CCUR ()

COUNT (*)

COUNT (ColumnName)

DATE ()

DATEPART (interval, date [firstweekday] [, firstweek])

DAY ()

FIRST ()

FORMAT (ColumnName, DateFormat)

HOUR ()

INSTR (Start, SourceString, SearchString)

INT ()

LAST ()

LCASE ()

LEFT (StringExpression, n)

LEN ()

LTRIM ()

MAX ()

MID (StringExpression, Start, Length)

MIN ()

MINUTE ()

MONTH ()

NOW ()

Nz (Variant [, ValueIfNull])

RIGHT (StringExpression, n)

ROUND (Fieldname, DecimalValue)

RTRIM ()

SECOND ()

SPACE ()

STDEV ()

STDEVP ()

SUM ()

TIME ()

TIMESERIAL (hour, minute, second)

TRIM ()

TRUNCATE (Fieldname, DigitValue)

UCASE ()

VAR ( )

VARP ()

WEEKDAY ()

YEAR ()

Definitions

Aggregate functions — Used to return a single value based on calculations on values stored in a column.

Arithmetic operators — Used to perform mathematical calculations.

Date and time functions — Used to manipulate values based on the time and date.

String functions — Used to manipulate strings of character(s).

Operators and Functions

In the previous chapter we described various operators that are used in the WHERE clause. There are other sets of operators that are used to modify the data in tables. This occurs commonly in the query grid, where you want to combine the result of two fields or format the data of a specific field. Take our Numbers table, for example.

Figure 6-1. Numbers table

Assume that you want the sum of the first two columns and the difference of the first and third columns. This is easily done in the query grid as follows:

Figure 6-2. Query Design view

Changing this to SQL view gives the following SQL result:

Figure 6-3. SQL view

This is just like the SELECT statements you have seen previously with a few additions. Note that the fields are listed with the operator and that the calculated field has a new name assigned with the AS reserved word. Access defaults to the names Expr#, where the # sign is an autogenerated incremental value; however, the user can assign any name to these calculated values. Also note that the fields are still separated by a comma. With this as an introduction, let’s proceed with the many different operators that can be used in SQL. (Hint: Anything that you can do in the query grid you can do in the SQL statement.)

Arithmetic Operators

In Chapter 5 you learned about an array of operators that can be used in the WHERE clause. Another set of operators that you should become familiar with is the arithmetic operators. The arithmetic operators are used to perform mathematical calculations and can be used throughout a query. The ability to perform mathematical calculations enables you to collect information beyond the data actually stored in the database. Take a look at Table 6-1, which shows the arithmetic operators used in Microsoft Access’s SQL view.

Table 6-1. Arithmetic operators

Operator

Description

Negation (−)

Used to take the negative of a number.

Exponentiation (^)

Used to perform exponentiation.

Divide (/)

Used to perform division.

Multiply (*)

Used to perform multiplication.

Modulus (%)

Used to return the remainder in division.

Plus (+)

Used to perform addition.

Minus (–)

Used to perform subtraction.

Table 6-1 displays the arithmetic operators for Access SQL. These are the same basic operators used by most versions of SQL, except for the exponentiation operator, which is not present in Microsoft SQL. The order in which operators are executed when several operations occur in an expression is called operator precedence. The arithmetic operators in Table 6-1 are displayed in the order in which they are evaluated. First, negation is performed. This is followed by exponentiation. Next, division, multiplication, and modulo operations are performed. Finally, addition and subtraction operations are performed. When two or more operations of equal precedence occur together, the expression is evaluated from the left to the right.

Take a look at Example 1, which implements two of the arithmetic operators.

Use an Arithmetic Operator with SELECT

Example 1

Figure 6-4. Numbers table

Figure 6-4 shows a table named Numbers. Suppose you want to add two values that are stored in two separate columns and multiply a value that is stored in a column by a specified value. Look at the following script:


SELECT (ColumnOne + ColumnTwo) AS AddColumns,
(ColumnThree * 2) AS MultiplyByTwo
FROM Numbers;

The preceding script uses the plus (+) operator to add the ColumnOne column to the ColumnTwo column. The result of the addition is displayed under an alternate name (AddColumns). Next, the multiply (*) operator is used to multiply the ColumnThree column by the value of 2. The result of the multiplication is also displayed under an alternate column name (MultiplyByTwo). Figure 6-5 shows the results from the query.

Figure 6-5. Results (output)

Note: In earlier chapters we used the asterisk (*) to display every column from a table. The asterisk can also be used to perform multiplication. Access determines which interpretation of the asterisk is to be used based on the content of the string. One of the most difficult factors in analyzing an incorrect SQL string is when Access gets confused. For example, if Access thinks that the asterisk is being used to designate all columns and not as a multiplication symbol, you might wonder where the error message came from. It has nothing to do with what you intended!

Use an Arithmetic Operator in the WHERE clause

Example 2

Suppose you want to retrieve records that are based on a WHERE clause that contains a comparison operator and an arithmetic operator. Look at the following:


SELECT ColumnOne, ColumnThree
FROM Numbers
WHERE ColumnOne < ColumnThree + 4;

The preceding query displays the ColumnOne and ColumnThree columns. The WHERE clause sets a criterion to only retrieve records where the first column (ColumnOne) is less than the result of Column Three added to the number four (ColumnThree + 4). Look at the results in Figure 6-6.

Figure 6-6. Results (output)

Aggregate Functions

Aggregate functions can also be used to perform mathematical calculations. They operate on several rows at one time and are used to return a single value based on values stored in a column. Unlike arithmetic operators, they cannot be used to calculate values stored in multiple columns.

Instead of retrieving actual information stored in the database, you can use aggregate functions to summarize data that is stored in the database. For example, aggregate functions can be used to average and sum values stored in a column.

Table 6-2 shows aggregate functions that are used most commonly in Microsoft Access’s SQL view.

Table 6-2. Aggregate functions

Function

Description

AVG ()

Used to return the average of values stored in a column.

COUNT (*)

Used to count the rows in a table including NULL values.

COUNT (ColumnName)

Used to count the rows in a column excluding NULL values.

FIRST ()

Used to return the first value stored in a column.

LAST ()

Used to return the last value stored in a column.

MAX ()

Used to return the highest value stored in a column.

MIN ()

Used to return the lowest value stored in a column.

SUM ()

Used to return the sum of values stored in a column.

Take a look at Example 3, which implements many of the aggregate functions discussed in Table 6-2.

Using the AVG (), FIRST (), LAST (), SUM (), MAX (), and MIN () Functions

Example 3

Suppose you want to use the Numbers table in Figure 6-4 to average the values stored in the ColumnOne column, find the first and last values stored in the ColumnOne column, sum the values stored in the ColumnTwo column, and find the highest and lowest values stored in the ColumnTwo column. Take a look at the following script:


SELECT AVG (ColumnOne) AS Average, FIRST (ColumnOne) AS FirstValue,
LAST (ColumnOne) AS LastValue, SUM (ColumnTwo) AS Summed,
MAX (ColumnTwo) AS Highest, MIN (ColumnTwo) AS Lowest
FROM Numbers;

The preceding script uses the AVG (ColumnOne) function to average the values in the ColumnOne column. Notice that the name of the column is enclosed within the parentheses of the AVG () function. The FIRST (ColumnOne) and LAST (ColumnOne) functions are used to find the first and last values that are stored in the ColumnOne column.

The SUM (ColumnTwo) function is used to sum the values stored in the ColumnTwo column. The MAX (ColumnTwo) and MIN (ColumnTwo) functions are used to find the highest and lowest values stored in the ColumnTwo column. Figure 6-7 shows the results from the query.

Figure 6-7. Results (output)

Using the COUNT () Function

Another popular aggregate function is the COUNT () function. The COUNT () function can be used in two ways. You can use it either to count the number of rows in a table or to count the rows in a specified column. To count the number of rows in a table, use the asterisk (*) within the function (COUNT (*)). To count the number of rows in a specified column, specify the name of a column in the function (COUNT (ColumnName)).

Note: When you use COUNT (ColumnName), NULL values are excluded in the count. When you use COUNT (*), NULL values are included in the count. Example 4 demonstrates using both the COUNT (*) and COUNT (ColumnName) functions.

Figure 6-8. Numbers table (altered)

Example 4

The Numbers table in Figure 6-8 has been altered slightly from the original Numbers table in Figure 6-4. The Numbers table in Figure 6-8 contains two NULL values. Notice that there is a value missing in the ColumnOne and ColumnThree columns.

Suppose you want to use the Numbers table in Figure 6-8 to count the rows in the table and the rows in the ColumnThree column. Look at the following script:


SELECT COUNT (*) AS TableCount,
COUNT (ColumnThree) AS ColumnCount
FROM Numbers;

The preceding script uses the COUNT (*) function to count the total number of rows in the Numbers table, including NULL values. The COUNT (ColumnThree) function is used to count the total number of rows in the ColumnThree column, excluding NULL values. Look at Figure 6-9 to see the results.

Figure 6-9. Results (output)

Sometimes you will see a column added to a query where the SELECT statement includes SUM (1) AS TableCount. This is the equivalent of COUNT (*)

String Functions and Operations

Arithmetic operators work on numbers. There is a corresponding set of operators that works on strings. In addition to these operators, there is a set of functions used to perform operations on strings. It should be noted that with a few exceptions, processing of strings as numbers or processing numbers as strings is not a good idea and in most cases simply cannot be done. Access will generate an error message if the wrong type of operator is used in an expression. Like arithmetic functions, string functions operate on one row at a time as opposed to aggregate functions, which operate on several rows at one time. Tables 6-3 and 6-4 show some of the string operators and functions used in Microsoft Access’s SQL view.

Table 6-3. String operators

Operator

Description

&

Used to concatenate two strings together.

+

Used to concatenate two strings together with NULL suppression.

Table 6-4. String functions

Function

Description

LTRIM ()

Used to remove leading spaces from a string.

RTRIM ()

Used to remove trailing spaces from a string.

TRIM ()

Used to remove leading and trailing spaces from a string.

LEFT (StringExpression, n)

Used to return the leftmost n characters of a string. A StringExpression can be any string expression. The n represents the number of characters to return.

RIGHT (StringExpression, n)

Used to return the rightmost n characters of a string. A StringExpression can be any string expression. The n represents the number of characters to return.

UCASE (StringExpression)

Used to return a string in which all letters of an argument have been converted to uppercase.

LCASE (StringExpression)

Used to return a string in which all letters of an argument have been converted to lowercase.

LEN (StringExpression)

Used to return the number of characters in a string expression or the number of bytes required to store a variable.

MID (StringExpression, Start, Length)

Used to return a string that is part of another string. A StringExpression can be any string expression. Start represents the character position in the StringExpression at which the part to be returned begins. Length represents the number of characters to return.

INSTR (Start, SourceString, SearchString)

Used to return the position of the first occurrence of one string within another string. Start represents a numeric expression that sets the starting position for reading the SourceString. SourceString represents the string expression being searched. SearchString represents the string expression being sought.

Use of the + and &

The most common operation performed on strings is the joining of two or more strings to make a single string. This is commonly referred to as concatenation. Concatenation was discussed in Chapter 4.

Microsoft Access has two operators that perform this function: + and &. The difference between the two operators is how null strings are processed. The plus operator processes a null string as a blank, so “string1” + NULL = “string1”. The ampersand processes the joining of any string with a null as null, so “string1” & NULL = NULL. This usefulness of having two functions is readily apparent when you consider that sometimes you want to see whatever is present and other times you want to see nothing if a field is blank. Consider the case of printing names with middle initials. Usually when you have a middle initial, you want to display it as the initial followed by a period. If you use the + operator, the result will be perfect unless there is no middle initial. In these cases you would get a lone period. Using the & operator gives you the preferred result of nothing.

Take a look at Example 5, which uses an example we discussed in Chapter 4.

Example 5

The following script uses the ampersand (&) to merge the Lastname column with a comma and the Firstname column with one space and a slash. The plus sign (+) is used to merge an empty string with the Lastname column and a comma, and to merge the slash and space with the Areacode column. The AS keyword is used to create an alias (NamesAndAreacodes).


SELECT Lastname & ','+''+Firstname&'/'+Areacode AS
NamesAndAreacodes
FROM Committee2;

Look at the results in Figure 6-10.

Figure 6-10. Results (output)

Using the LEFT (), UCASE (), LEN (), and TRIM () Functions

Example 6

Figure 6-11. Computers table

Suppose you want to query the Computers table in Figure 6-11. You want to retrieve the first two characters/numbers from each value stored in the SerialNum column. Additionally, you want to display all the values in the Brand column in all uppercase letters, display the total number of characters for each value in the Department column, and trim any existing and trailing spaces from the values stored in the OfficeNumber column. Look at the following script:


SELECT LEFT (SerialNum, 2) AS FirstTwoChars,
UCASE (Brand) AS Uppercase, LEN (Department) AS TotalChars,
TRIM (OfficeNumber) AS TrimSpaces
FROM Computers;

The preceding script uses the LEFT (SerialNum, 2) function to return the first two leftmost characters from the values stored in the SerialNum column. The column name (SerialNum) specifies which column to return data from and the number two (2) specifies how many characters to return. The UCASE (Brand) function is used to return all the values in the Brand column converted to uppercase. The LEN (Department) function is used to return the total number of characters for each value stored in the Department column. Finally, the TRIM (OfficeNumber) function is used to remove leading and trailing spaces from the values stored in the OfficeNumber column. Figure 6-12 shows the results from the query.

Figure 6-12. Results (output)

Using the MID () and INSTR () Functions

Example 7

Figure 6-13. Computers table

Suppose you want to query the Computers table in Figure 6-13 to retrieve the first five characters/numbers from each value stored in the SerialNum column. You also want to display the numeric position of the first occurrence of the number 2 in each value stored in the SerialNum column. Look at the following script:


SELECT MID (SerialNum, 1, 5) AS FirstFiveChars,
INSTR (1, SerialNum, 2) AS PositionOfTwos
FROM Computers;

The preceding script uses the MID (SerialNum, 1, 5) function to retrieve the first five characters/numbers from each value stored in the SerialNum column. The column name (SerialNum) represents the column from which to retrieve characters/numbers. The 1 represents the character position in the SerialNum column at which the part to be returned begins. The 5 represents the number of characters to return.

The INSTR (1, SerialNum, 2) function is used to display the numeric position of the first occurrence of the number 2 in each value stored in the SerialNum column. The 1 represents the numeric expression that sets the starting position for reading the values stored in the SourceString (SerialNum column). The column name (SerialNum) represents the column to search, and the 2 represents the string expression being sought. Look at the results in Figure 6-14.

Figure 6-14. Results (output)

One of the more important features of the INSTR function is that the function returns specific values depending upon whether or not the searched for string is in the source string. Refer to Table 6-5.

Table 6-5. INSTR function

If

InStr returns

Searched in string is zero-length

0

Searched in string is Null

Null

Searched for string is zero-length

start

Searched for string is Null

Null

Searched for string is not found

0

Searched for string is found within Searched in string

Position at which match is found

start > Searched in string

0

Note: The MID (StringExpression, Start, Length) function is very similar to the LEFT (StringExpression, n) and RIGHT (StringExpression, n) functions. However, the MID (StringExpression, Start, Length) function enables you to better pinpoint where you want to begin your extraction of characters rather than limit you to the beginning or end of the string.

Date and Time Functions

Another collection of functions that can be very useful in your queries is the set of date and time functions, which are used to manipulate values based on the date and time.

Before we begin using the date and time functions it is important to note that Microsoft Access stores all dates and times as numbers.

The numeric representation of dates is called a Julian (or serial) date. Microsoft Access designates day 0 as 12/30/1899 and increments all other dates starting from this date. For example, 7/7/93 is stored as 34157, which represents 34,157 days since 12/30/1899. Negative numbers represent dates prior to 12/30/1899.

Times in Microsoft Access are stored as a fraction of a day. An hour is equivalent to 1/24 of a day (or 0.0416666), each minute is equivalent to 1/1440 of a day (or 0.0006944), and each second is equivalent to 1/86400 (or 0.0000115). For example, 3:00 a.m. is stored as 1/8 of a day (or .125). Table 6-6 shows some of the most commonly used date and time functions in Microsoft Access’s SQL view.

Table 6-6. Date and time functions

Function

Description

DATE ()

Used to return the current date.

DATEPART (interval, date [firstweekday][, firstweek])

Used to return a value from a date. Interval represents a string expression that is the interval of time you use to return. Date represents the name of a Date/Time field. Firstweekday represents an integer that specifies the first day of the week. Firstweek is a constant that specifies the first week of the year.

 

Specific values for interval are:

Setting

Description

yyyy

Year

q

Quarter

m

Month

y

Day of year

d

Day

w

Weekday

ww

Week

h

Hour

n

Minute

s

Second

DAY ()

Used to return the day of the month from a date.

FORMAT (ColumnName, DateFormat)

Formats a number, date, time, or string according to instructions contained in a format expression. ColumnName stores the values that need formatting. DateFormat represents the format in which you want to display values.

HOUR ()

Used to return an integer from 0 to 23, which represents the hour of the day matching the time provided as an argument.

MINUTE ()

Used to return an integer from 0 to 59, which represents the minute of the hour matching the time provided as an argument.

MONTH ()

Used to return the month from a date.

NOW ()

Used to return the current date and time.

SECOND ()

Used to return an integer from 0 to 59, which represents the second of the minute matching the time provided as an argument.

TIME ()

Used to return the current time.

TIMESERIAL (hour, minute, second)

Used to return the time for a specific hour, minute, and second. Hour represents an hour from 0 (12:00 a.m.) to 23 (11:00 p.m), or a numeric expression. Minute represents a minute from 0 to 59, or a numeric expression. Second represents a second from 0 to 59, or a numeric expression.

WEEKDAY ()

Used to return the day of the week from a date.

YEAR ()

Used to return the year from a date.

Inserting Dates into a Table

Example 8

Figure 6-15. Activities table

Suppose you want to insert a new record containing dates into the Activities table in Figure 6-15. Look at the following script:


INSERT INTO Activities (ActivityID, ActivityName, StartDate,
EndDate)
VALUES (8, ' Remotivation therapy', #01/01/08#, #01/31/08#);

The above script inserts four values into the Activities table. Two of the values are dates. Although Microsoft Access stores dates as numbers, dates must be enclosed in pound signs. Figure 6-16 shows the addition of the new record. The dates are all aligned to the right because, like numeric fields, all date values are aligned to the right by default.

Note: To see the addition of the new record you must open the Activities table. Type the following to open the Activities table: SELECT * FROM Activities.

Note: If you specify a time part when entering a date, that value will be included in the date; otherwise, Access assumes that you are using midnight as the time.

Figure 6-16. Results (output)

Using the FORMAT () Function

Example 9

Suppose you want to retrieve the start dates in a different format than they appear in the Activities table in Figure 6-15. Look at the following script:


SELECT ActivityName, FORMAT (StartDate, 'mmmm-dd-yyyy') AS BeginDate
FROM Activities;

The above script uses a date format (mmmm-dd-yyyy) in the FORMAT () function that enables you to spell out the full name of the month, the two-digit day, and the full four-digit year. Table 6-7 displays the date formats available in Microsoft Access’s SQL view. As you can see, there are an almost unlimited number of ways to format date and time.

Table 6-7. Microsoft Access date formats

Date Formats

Description

/

Date separator.

c

Same as the General Date predefined format.

d

Day of the month in one or two numeric digits, as needed (1 to 31).

dd

Day of the month in two numeric digits (01 to 31).

ddd

First three letters of the weekday (Sun to Sat).

dddd

Full name of the weekday (Sunday to Saturday).

ddddd

Same as the Short Date predefined format.

dddddd

Same as the Long Date predefined format.

w

Day of the week (1 to 7).

ww

Week of the year (1 to 53).

m

Month of the year in one or two numeric digits, as needed (1 to 12).

mm

Month of the year in two numeric digits (01 to 12).

mmm

First three letters of the month (Jan to Dec).

mmmm

Full name of the month (January to December).

q

Date displayed as the quarter of the year (1 to 4).

y

Number of the day of the year (1 to 366).

yy

Last two digits of the year (01 to 99).

yyyy

Full year (0100 to 9999).

h

Hour in one or two digits, as needed (0 to 23).

hh

Hour in two digits (00 to 23).

n

Minute in one or two digits, as needed (0 to 59).

nn

Minute in two digits (00 to 59).

s

Second in one or two digits, as needed (0 to 59).

ss

Second in two digits (00 to 59).

ttttt

Same as the Long Time predefined format.

AM/PM

Twelve-hour clock with the uppercase letters “AM” or “PM”, as appropriate.

am/pm

Twelve-hour clock with the lowercase letters “am” or “pm”, as appropriate.

A/P

Twelve-hour clock with the uppercase letter “A” or “P”, as appropriate.

a/p

Twelve-hour clock with the lowercase letter “a” or “p”, as appropriate.

AMPM

Twelve-hour clock with the appropriate morning/afternoon designator as defined in the Regional Settings Properties dialog box in the Windows Control Panel.

Figure 6-17 displays the results from the query in Example 9.

Figure 6-17. Results (output)

Using the DATE (), TIME (), MONTH (), DAY (), and YEAR () Functions

Example 10

Say you want to display the current date and time. Additionally, you want to display the ending dates of all activities in the Activities table with the month, day, and year displayed in separate columns. Take a look at the following script:


SELECT DATE () AS TodaysDate, TIME () AS CurrentTime, MONTH
(EndDate) AS EndDateMonth, DAY (EndDate) AS EndDateDay, YEAR
(EndDate) AS EndDateYear
FROM Activities;

The above script uses the DATE () and TIME () functions to display the current system date and time. The MONTH (EndDate) function is used to display the numeric representation of the month from the date stored in the EndDate field. The DAY (EndDate) function is used to display the numeric representation of the day from the date stored in the EndDate field. The YEAR (EndDate) function displays the numeric representation of the year from the date stored in the EndDate field. Figure 6-18 displays the results.

Figure 6-18. Results (output)

Miscellaneous Functions

Table 6-8 shows additional functions that can be used in Microsoft Access’s SQL view.

Table 6-8. Miscellaneous functions

Function

Description

ABS ()

Returns the absolute value of a number.

CCUR (expression)

Used to convert a value to currency.

INT ()

Returns the integer part of a numeric field.

Nz (Variant [, ValueIfNull])

Returns a zero, a zero-length string (" "), or another specified value when a table value (or variant) is NULL. Variant represents a variable of data type variant. ValueIfNull represents a variant that supplies a value to be returned if the variant argument is NULL.

ROUND (Fieldname, DecimalValue)

Rounds a number off to the specified number of decimal places. Fieldname represents the column that stores the values for rounding. DecimalValue represents the decimal value to round by.

SPACE ()

Used to add spaces to fields.

STDEV ()

Used to calculate the standard deviation by using a portion, called a sample, of the total number of values in a field for a specified numeric field in a query.

STDEVP ()

Used to calculate the standard deviation by using all of the values in a field for a specified numeric field in a query.

TRUNCATE (Fieldname, DigitValue)

Truncates numeric fields to the specified number of digits.

VAR ()

Used to calculate the variance by using a portion, called a sample, of the total number of values in a field for a specified numeric field in a query.

VARP ()

Used to calculate the variance by using all of the values in a field for a specified numeric field in a query.

Using the CCUR () Function

Example 11

Figure 6-19. Numbers table

For our last example, let’s take a look at one of the functions (CCUR ()) listed in the miscellaneous functions table above.

The CCUR () function is used to convert a value to currency. Take a look at the following query, which demonstrates the use of the CCUR () function:


SELECT ColumnOne, CCUR (ColumnOne + 2.00) AS
TwoDollarIncrease
FROM Numbers
WHERE ColumnOne IN (10, 70, 90);

The preceding SQL script queries the Numbers table in Figure 6-19. The WHERE clause specifies a condition for three records (10, 70, 90). The query retrieves the ColumnOne column and the ColumnOne column added to two dollars. The CCUR () function is used to display the two dollar increase as currency. Notice the dollar sign in the TwoDollarIncrease column in Figure 6-20.

Figure 6-20. Results (output)

Summary

In this chapter, you learned how to implement calculated fields in your queries. You learned how to use arithmetic operators, aggregate functions, string functions, and the date and time functions. You were also introduced to some additional functions used in Microsoft Access’s SQL view.

Quiz 6

1. True or False. The divide (/) operator is used to return the remainder in division.

2. True or False. Aggregate functions operate on only one row at a time.

3. True or False. The ddd date format displays the full names of days.

4. True or False. The CURRENTTIME () function is used to return the current time.

5. True or False. The numeric representation of dates is called a Julian (or serial) date.

Project 6

Use the Computers table in Figure 6-13 to display today’s date and time, the SerialNum column, and the last five numbers from each serial number in the SerialNum column.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset