SQL Server/T-SQL Tutorial/Data Types/Char

Материал из SQL эксперт
Версия от 13:25, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

CHAR type column

   <source lang="sql">

2> CREATE TABLE employee (emp_no INTEGER NOT NULL, 3> emp_fname CHAR(20) NOT NULL, 4> emp_lname CHAR(20) NOT NULL, 5> dept_no CHAR(4) NULL) 6> 7> GO 1> 2> drop table employee; 3> GO 1></source>


Char type keeps the empty spaces

   <source lang="sql">

16> --SET ANSI_PADDING OFF 17> 18> --DROP TABLE checkpad 19> --GO 20> 21> CREATE TABLE checkpad 22> ( 23> rowid smallint NOT NULL PRIMARY KEY, 24> c10not char(10) NOT NULL, 25> c10nul char(10) NULL, 26> v10not varchar(10) NOT NULL, 27> v10nul varchar(10) NULL 28> ) 29> GO 1> -- Row 1 has names with no trailing blanks 2> INSERT checkpad VALUES (1, "John", "John", "John", "John") 3> 4> -- Row 2 has each name inserted with three trailing blanks 5> INSERT checkpad VALUES 6> (2, "John ", "John ", "John ", "John ") 7> 8> -- Row 3 has each name inserted with a full six trailing blanks 9> INSERT checkpad VALUES 10> (3, "John ", "John ", "John ", "John ") 11> 12> -- Row 4 has each name inserted with seven trailing blanks (too many) 13> INSERT checkpad VALUES 14> (4, "John ", "John ", "John ", "John ") 15> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) 1> 2> drop table checkpad 3> GO</source>


Combine char and varchar type data with "+"

   <source lang="sql">

1> 2> 3> 4> 5> CREATE TABLE authors( 6> au_id varchar(11), 7> au_lname varchar(40) NOT NULL, 8> au_fname varchar(20) NOT NULL, 9> phone char(12) NOT NULL DEFAULT ("UNKNOWN"), 10> address varchar(40) NULL, 11> city varchar(20) NULL, 12> state char(2) NULL, 13> zip char(5) NULL, 14> contract bit NOT NULL 15> ) 16> GO 1> insert authors values("1", "Joe", "Abra", "111 111-1111", "6 St.", "Berkeley", "CA", "11111", 1) 2> insert authors values("2", "Jack", "Majo", "222 222-2222", "3 St.", "Oakland" , "CA", "22222", 1) 3> insert authors values("3", "Pink", "Cherry", "333 333-3333", "5 Ln.", "Vancouver", "BC", "33333", 1) 4> insert authors values("4", "Blue", "Albert", "444 444-4444", "7 Av.", "Vancouver", "BC", "44444", 1) 5> insert authors values("5", "Red", "Anne", "555 555-5555", "6 Av.", "Regina", "SK", "55555", 1) 6> insert authors values("6", "Black", "Michel", "666 666-6666", "3 Pl.", "Regina", "SK", "66666", 1) 7> insert authors values("7", "White", "Sylvia", "777 777-7777", "1 Pl.", "Rockville", "MD", "77777", 1) 8> insert authors values("8", "Yellow","Heather","888 888-8888", "3 Pu", "Vacaville", "CA", "88888", 0) 9> insert authors values("9", "Gold", "Dep", "999 999-9999", "5 Av.", "Oakland", "CA", "99999", 0) 10> insert authors values("10", "Siler", "Dean", "000 000-0000", "4 Av.", "Oakland", "CA", "00000", 1) 11> 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 rows affected) (1 rows affected) 1> 2> 3> 4> SELECT "author"=au_lname + ", " + au_fname FROM authors 5> GO author


Joe, Abra Jack, Majo Pink, Cherry Blue, Albert Red, Anne Black, Michel White, Sylvia Yellow, Heather Gold, Dep Siler, Dean (10 rows affected) 1> 2> drop table authors; 3> GO 1></source>


Compare char type data in upper case

   <source lang="sql">

3> CREATE TABLE authors( 4> au_id varchar(11), 5> au_lname varchar(40) NOT NULL, 6> au_fname varchar(20) NOT NULL, 7> phone char(12) NOT NULL DEFAULT ("UNKNOWN"), 8> address varchar(40) NULL, 9> city varchar(20) NULL, 10> state char(2) NULL, 11> zip char(5) NULL, 12> contract bit NOT NULL 13> ) 14> GO 1> insert authors values("1", "Joe", "Abra", "111 111-1111", "6 St.", "Berkeley", "CA", "11111", 1) 2> insert authors values("2", "Jack", "Majo", "222 222-2222", "3 St.", "Oakland" , "CA", "22222", 1) 3> insert authors values("3", "Pink", "Cherry", "333 333-3333", "5 Ln.", "Vancouver", "BC", "33333", 1) 4> insert authors values("4", "Blue", "Albert", "444 444-4444", "7 Av.", "Vancouver", "BC", "44444", 1) 5> insert authors values("5", "Red", "Anne", "555 555-5555", "6 Av.", "Regina", "SK", "55555", 1) 6> insert authors values("6", "Black", "Michel", "666 666-6666", "3 Pl.", "Regina", "SK", "66666", 1) 7> insert authors values("7", "White", "Sylvia", "777 777-7777", "1 Pl.", "Rockville", "MD", "77777", 1) 8> insert authors values("8", "Yellow","Heather","888 888-8888", "3 Pu", "Vacaville", "CA", "88888", 0) 9> insert authors values("9", "Gold", "Dep", "999 999-9999", "5 Av.", "Oakland", "CA", "99999", 0) 10> insert authors values("10", "Siler", "Dean", "000 000-0000", "4 Av.", "Oakland", "CA", "00000", 1) 11> 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 rows affected) (1 rows affected) 1> 2> SELECT COUNT(*) FROM authors_CS WHERE UPPER(au_lname)="CARSON" 3> GO


         0

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