Explicitly converts an expression of one data type to another. CAST and CONVERT provide similar functionality.
Syntax
Using CAST:
CAST ( expression AS data_type )
Using CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Explicitly converts an expression of one data type to another. CAST and CONVERT provide similar functionality.
Using CAST:
CAST ( expression AS data_type )
Using CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Principais requisitos minimos:
SISTEMA OPERATIVO |
SQL Server 2000 Enterprise Edition and Standard Edition can run on the following operating systems: |
|
SQL Server 2000 Evaluation Edition and Developer Edition and Workgroup Edition can run on the following operating systems: |
|
SQL Server 2000 Personal Edition4 and SQL Server 2000 Desktop Engine (MSDE) can run on the following operating systems: |
|
MEMORIA |
|
DISCO |
|
2012
SELECT 'SQL Server ' + CAST(SERVERPROPERTY('productversion') AS VARCHAR) + '-' + CAST(SERVERPROPERTY('productlevel') AS VARCHAR) + ' (' + CAST(SERVERPROPERTY('edition') AS VARCHAR) + ')'
SQL Server 7.0, 2000, and 2005, running the following will extract ONLY the version information.
SELECT LTRIM(RIGHT(LEFT(@@VERSION,38),9)) |
And the following query will work on SQL Server 2000 and up:
SELECT ‘SQL Server ‘ + CAST(SERVERPROPERTY(‘productversion’) AS VARCHAR) + ‘ – ‘ + CAST(SERVERPROPERTY(‘productlevel’) AS VARCHAR) + ‘ (‘ + CAST(SERVERPROPERTY(‘edition’) AS VARCHAR) + ‘)’ |
The SQL Server timestamp data type has nothing to do with times or dates. SQL Server timestamps are binary numbers that indicate the relative sequence in which data modifications took place in a database. The timestamp data type was originally implemented to support the SQL Server recovery algorithms.
It further states Never use timestamp columns in keys, especially primary keys, because the timestamp value changes every time the row is modified.
I’d suggest using a DATETIME or SMALLDATETIME column in this case. DATETIME columns can store dates from January 1st, 1753 through December 31st, 9999 (there’s that Y10K problem) and are accurate to roughly 3 milliseconds. They use 8 bytes of storage. SMALLDATETIME columns can store dates from January 1st, 1900 through June 6th, 2079 and are accurate to the minute. SMALLDATETIME columns only use 4 bytes of storage.
You can insert values into DATETIME columns (or SMALLDATETIME) columns by enclosing them in quotes.
INSERT Table1 (DateTimeColumn) |
This will insert the date part with the time set to midnight (12:00:00 AM). You can insert the current system date and time using the GETDATE() function:
INSERT Table1 (DateTimeColumn) |
Your SELECT statement from above might look something like this:
SELECT * FROM links WHERE gdate = ‘2000-11-05’ |
This will run fine if you are putting dates in with no times. If you are adding times and want all the records for a particular day you can do something like this:
SELECT * FROM links WHERE LEFT( CONVERT(varchar, gdate, 120), 10) = ‘2000-11-05’ |
—————————
Usando DATETIME para assumir por defeito o valor dataHora actual, pode-se colocar no DefaultValue a funcao (getdate())
Built-in data types SQL Server 2000 ships with 27 built-in (system) data types
Data Types | Description |
---|---|
bigint | Integer data from -2^63 through 2^63-1 |
int | Integer data from -2^31 through 2^31 – 1 |
smallint | Integer data from -2^15 through 2^15 – 1 |
tinyint | Integer data from 0 through 255 |
bit | Integer data with either a 1 or 0 value |
decimal | Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1 |
numeric | Fixed precision and scale numeric data from -10^38 +1 through 10^38 -1 |
money | Monetary data values from -2^63 through 2^63 – 1 |
smallmoney | Monetary data values from -214,748.3648 through +214,748.3647 |
float | Floating precision number data from -1.79E + 308 through 1.79E + 308 |
real | Floating precision number data from -3.40E + 38 through 3.40E + 38 |
datetime | Date and time data from January 1, 1753, through December 31, 9999,with an accuracy of 3.33 milliseconds |
smalldatetime | Date and time data from January 1, 1900, through June 6, 2079,with an accuracy of one minute |
char | Fixed-length character data with a maximum length of 8,000 characters |
varchar | Variable-length data with a maximum of 8,000 characters |
text | Variable-length data with a maximum length of 2^31 – 1 characters |
nchar | Fixed-length Unicode data with a maximum length of 4,000 characters |
nvarchar | Variable-length Unicode data with a maximum length of 4,000 characters |
ntext | Variable-length Unicode data with a maximum length of 2^30 – 1 characters |
binary | Fixed-length binary data with a maximum length of 8,000 bytes |
varbinary | Variable-length binary data with a maximum length of 8,000 bytes |
image | Variable-length binary data with a maximum length of 2^31 – 1 bytes |
cursor | A reference to a cursor |
sql_variant | A data type that stores values of various data types,except text, ntext, timestamp, and sql_variant |
table | A special data type used to store a result set for later processing |
timestamp | A database-wide unique number that gets updated every timea row gets updated |
uniqueidentifier | A globally unique identifier |
SQL Server 2000 supports user-defined data types too. User-defined data types provide a mechanism for applying a name to a data type that is more descriptive of the types of values to be held in the object. Using user-defined data type can make it easier for a programmer or database administrator to understand the intended use of any object defined with the data type. The user-defined data types are based on the system data types and can be used to predefine several attributes of a column, such as its data type, length, and whether it supports NULL values. To create a user-defined data type, you can use the sp_addtype system stored procedure or you could add one using the Enterprise Manager. When you create a user-defined data type, you should specify the following three properties:
The following example creates a user-defined data type based on money data type named cursale that cannot be NULL:
EXEC sp_addtype cursale, money, 'NOT NULL' GO |
Both system and user-defined data types are used to enforce data integrity. It is very important that we put forth a lot of effort while designing tables: the better you design your tables, the more time you can work without any performance problems. In an ideal case, you never will update the structure of your tables.