SQL Server/T-SQL Tutorial/String Functions/RTRIM

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

CONVERT(varchar(20), RTRIM(au_lname) + ", " + RTRIM(au_fname)

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> CREATE TABLE titleauthor(
4>    au_id          varchar(20),
5>    title_id       varchar(20),
6>    au_ord         tinyint               NULL,
7>    royaltyper     int                   NULL
8> )
9> GO
1>
2> insert titleauthor values("1", "2", 1, 60)
3> insert titleauthor values("2", "3", 1, 100)
4> insert titleauthor values("3", "4", 1, 100)
5> insert titleauthor values("4", "5", 1, 100)
6> insert titleauthor values("5", "6", 1, 100)
7> insert titleauthor values("6", "7", 2, 40)
8> insert titleauthor values("7", "8", 1, 100)
9> insert titleauthor values("8", "9", 1, 100)
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>
4> SELECT "Author ID"=A.au_id,
5>     "Author"=CONVERT(varchar(20), RTRIM(au_lname) + ", "
6>     + RTRIM(au_fname)), state
7> FROM authors A
8> WHERE A.au_id <> ALL
9>     (SELECT B.au_id FROM titleauthor B)
10> GO
Author ID   Author               state
----------- -------------------- -----
9           Gold, Dep            CA
10          Siler, Dean          CA
(2 rows affected)
1>
2>
3> SELECT "Author ID"=A.au_id,
4>     "Author"=CONVERT(varchar(20), RTRIM(au_lname) + ", "
5>     + RTRIM(au_fname)), state
6> FROM authors A
7> WHERE A.au_id NOT IN
8>     (SELECT B.au_id FROM titleauthor B)
9> GO
Author ID   Author               state
----------- -------------------- -----
9           Gold, Dep            CA
10          Siler, Dean          CA
(2 rows affected)
1>
2>
3> drop table authors;
4> drop table titleauthor;
5> GO
1>


Removing Trailing Blanks

3>
4> SELECT RTRIM(""" + "www.sqle.ru sqle ") + """
5> GO
------------------------
"www.sqle.ru sqle"
(1 rows affected)
1>


RTRIM a column

2> CREATE TABLE titles(
3>    title_id       varchar(20),
4>    title          varchar(80)       NOT NULL,
5>    type           char(12)          NOT NULL,
6>    pub_id         char(4)               NULL,
7>    price          money                 NULL,
8>    advance        money                 NULL,
9>    royalty        int                   NULL,
10>    ytd_sales      int                   NULL,
11>    notes          varchar(200)          NULL,
12>    pubdate        datetime          NOT NULL
13> )
14> 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> SELECT RTRIM(type) + ":" + title_id FROM titles
3> GO
---------------------------------
popular_comp:1
business:2
psychology:3
psychology:4
business:5
mod_cook:6
trad_cook:7
trad_cook:8
(8 rows affected)
1>
2> drop table titles;
3> GO
1>


RTRIM will remove trailing spaces from a string.

3> DECLARE @STRING_WITH_SPACES VARCHAR(30)
4> DECLARE @STRING_WITHOUT_SPACES VARCHAR(30)
5> SET @STRING_WITH_SPACES = "www.sqle.ru sqle"
6>
7> SET @STRING_WITHOUT_SPACES = RTRIM(@STRING_WITH_SPACES)
8>
9> SELECT @STRING_WITH_SPACES + "!"
10> SELECT @STRING_WITHOUT_SPACES + "!"
11> GO
-------------------------------
www.sqle.ru sqle!
(1 rows affected)
-------------------------------
www.sqle.ru sqle!
(1 rows affected)


select LTRIM(RTRIM(" SQL Server "))

3> select LTRIM(RTRIM(" SQL Server "))
4> GO
------------
SQL Server
(1 rows affected)
1>


select RTRIM(" SQL Server ")

3> select RTRIM(" SQL Server ")
4> GO
------------
 SQL Server
(1 rows affected)
1>