The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value. : CONVERT « Data Convert Functions « SQL Server / T-SQL Tutorial






5> CREATE TABLE titles(
6>    title_id       varchar(20),
7>    title          varchar(80)       NOT NULL,
8>    type           char(12)          NOT NULL,
9>    pub_id         char(4)               NULL,
10>    price          money                 NULL,
11>    advance        money                 NULL,
12>    royalty        int                   NULL,
13>    ytd_sales      int                   NULL,
14>    notes          varchar(200)          NULL,
15>    pubdate        datetime          NOT NULL
16> )
17> GO
1>
2> insert titles values ('1', 'Secrets',   'popular_comp', '1389', $20.00, $8000.00, 10, 4095,'Note 1','06/12/94')
3> insert titles values ('2', 'The',       'business',     '1389', $19.99, $5000.00, 10, 4095,'Note 2','06/12/91')
4> insert titles values ('3', 'Emotional', 'psychology',   '0736', $7.99,  $4000.00, 10, 3336,'Note 3','06/12/91')
5> insert titles values ('4', 'Prolonged', 'psychology',   '0736', $19.99, $2000.00, 10, 4072,'Note 4','06/12/91')
6> insert titles values ('5', 'With',      'business',     '1389', $11.95, $5000.00, 10, 3876,'Note 5','06/09/91')
7> insert titles values ('6', 'Valley',    'mod_cook',     '0877', $19.99, $0.00,    12, 2032,'Note 6','06/09/91')
8> insert titles values ('7', 'Any?',      'trad_cook',    '0877', $14.99, $8000.00, 10, 4095,'Note 7','06/12/91')
9> insert titles values ('8', 'Fifty',     'trad_cook',    '0877', $11.95, $4000.00, 14, 1509,'Note 8','06/12/91')
10> GO

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)

(1 rows affected)
1>
2>
3> SELECT  * FROM titles WHERE pubdate BETWEEN '8/1/96' and '8/31/08'
4> GO
Msg 242, Level 16, State 3, Server J\SQLEXPRESS, Line 3
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
1>
2> drop table titles;
3> GO








13.3.CONVERT
13.3.1.CONVERT function syntax
13.3.2.Values for the style argument of the CONVERT function when you convert a datetime expression to a character expression.
13.3.3.select CONVERT (INTEGER , '123')
13.3.4.The syntax of the CONVERT function CONVERT(data_type, expression [, style])
13.3.5.CONVERT(varchar,BillingDate,100) 'Mmm dd yyyy hh:mmdp'
13.3.6.CONVERT(varchar,BillingDate,101) 'mm/dd/yyyy'
13.3.7.CONVERT(varchar,BillingDate,103) 'dd/mm/yyyy'
13.3.8.CONVERT() function requires two arguments: the first for the target data type and the second for the source value.
13.3.9.SELECT 'Default Date: ' + CONVERT(VarChar(50), GETDATE(), 100)
13.3.10.SELECT 'US Date: ' + CONVERT(VarChar(50), GETDATE(), 101)
13.3.11.SELECT 'ANSI Date: ' + CONVERT(VarChar(50), GETDATE(), 102)
13.3.12.SELECT 'UK/French Date: ' + CONVERT(VarChar(50), GETDATE(), 103)
13.3.13.SELECT 'German Date: ' + CONVERT(VarChar(50), GETDATE(), 104)
13.3.14.SELECT CONVERT(VarChar(50), @Num, 0)
13.3.15.CONVERT(datetime, '20000704')
13.3.16.SELECT CONVERT(datetime, '10.12.99',1)
13.3.17.SELECT CONVERT(datetime, '10.12.99',4)
13.3.18.CONVERT(char(10), GETDATE(), 112)
13.3.19.CONVERT(varchar(10), advance, 2)
13.3.20.CONVERT(varchar(20), GETDATE())
13.3.21.The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
13.3.22.CONVERT(char(8), BillingDate, 1) and CONVERT(varchar(9), PaymentTotal, 1)
13.3.23.Conversion failed when converting the varchar value 'abc' to data type int.
13.3.24.CONVERT(varchar(12), OrderDate, 5)
13.3.25.Compare date type value after converting
13.3.26.Use convert function with variables