This section provides tutorial examples on how data literals are evaluated to values of different datatypes.
Example 1 - CharStringLiterals.sql:
-- CharStringLiterals.sql
-- Copyright (c) 1999 by Dr. Herong Yang
--
SELECT 'Hello world!' AS LINE_1;
SELECT 'Loews L''Enfant Plaza' AS LINE_2;
SELECT '123'+ 0 AS LINE_3;
SELECT '0.123e-1' + 0 AS LINE_4;
SELECT 'ABC' + 1 AS LINE_5;
Line 2 shows that "''" is evaluated as "'" in a string expression.
Line 4 confirms that a character string literal can be evaluated to an approximate
number in a numeric expression.
Line 5 confirms that a character string literal will be evaluated to 0, if the
string is an invalid numeric literal.
Example 2 - HexStringLiterals.sql:
-- HexStringLiterals.sql
-- Copyright (c) 1999 by Dr. Herong Yang
--
SELECT x'41424344' AS LINE_1;
SELECT x'31323334' AS LINE_2;
SELECT x'31323334' + 0 AS LINE_3;
SELECT x'01' + 0 AS LINE_4;
SELECT x'0001' + 0 AS LINE_5;
SELECT x'ff' + 0 AS LINE_6;
SELECT x'ffffffff' + 0 AS LINE_7;
SELECT x'ffffffffffffffff' + 0 AS LINE_8;
Line 1 and 2 tell us that hex string literals are evaluated into character strings
in a string expression.
Line 3, 4, 5, 6 and 7 tell us that hex string literals are evaluated into numbers
in numeric expression.
Line 8 tells us that the binary representation of an integer is 8 bytes.
The value of the first bit on the left marks the integer to be negative.
Example 3 - NumericLiterals.sql:
-- NumericLiterals.sql
-- Copyright (c) 1999 by Dr. Herong Yang
--
SELECT 1 AS LINE_1;
SELECT -2 AS LINE_2;
SELECT 3.3 AS LINE_3;
SELECT -4.4e+4 AS LINE_4;
SELECT 12345678901234567890 AS LINE_5;
SELECT 0.12345678901234567890 AS LINE_6;
SELECT 1234567890.1234567890 AS LINE_7;
SELECT 12345678901234567890.1234567890 AS LINE_8;
SELECT 1234567890.1234567890e+10 AS LINE_9;
SELECT 0.0000000000000000000012345678901234567890 AS LINE_10;
SELECT 1.0e+1234567890 AS LINE_11;