SQL Server/T-SQL Tutorial/System Settings/ANSI NULLS

Материал из SQL эксперт
Перейти к: навигация, поиск

SET ANSI_NULLS ON/OFF

   <source lang="sql">

3> CREATE TABLE titles( 4> title_id varchar(20), 5> title varchar(80) NOT NULL, 6> type char(12) NOT NULL, 7> pub_id char(4) NULL, 8> price money NULL, 9> advance money NULL, 10> royalty int NULL, 11> ytd_sales int NULL, 12> notes varchar(200) NULL, 13> pubdate datetime NOT NULL 14> ) 15> GO 1> 2> insert titles values ("1", "Secrets", "popular_comp", "1389", NULl, $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> SET ANSI_NULLS OFF 3> GO 1> SELECT * FROM titles WHERE price = NULL 2> GO title_id title type pub_id price advance royalty ytd_sales notes

                                                                                                                                                                                              pubdate

-------------------------------------------------------------------------------- ------------ ------ --------------------- --------------------- ----------- ----------- ----------
---------

1 Secrets popular_comp 1389 NULL 8000.0000 10 4095 Note 1

                                                                                                                                                                                              1994-06-1

2 00:00:00.000 (1 rows affected) 1> 2> -- Second batch will return no rows 3> 4> SET ANSI_NULLS ON 5> GO 1> 2> SELECT * FROM titles WHERE price = NULL 3> GO title_id title type pub_id price advance royalty ytd_sales notes

                                                                                                                                                                                              pubdate

-------------------------------------------------------------------------------- ------------ ------ --------------------- --------------------- ----------- ----------- ----------
---------

(0 rows affected) 1> 2> drop table titles; 3> GO</source>