loading..
Русский    English
05:46
листать

Функция RIGHT

Парная к LEFT функция RIGHT возвращает заданное число символов справа из строкового выражения:

  1. RIGHT(строковое выражения, число символов)

Вот, например, как можно определить имена кораблей, которые начинаются и заканчиваются на одну и ту же букву:

Консоль
Выполнить
  1. SELECT name
  2. FROM Ships
  3. WHERE LEFT(name, 1) = RIGHT(name, 1)

То, что в результате мы получим пустой результирующий набор, означает, что таких кораблей в базе данных нет. Давайте возьмем комбинацию значений — класс и имя корабля.

Соединение двух строковых значений в одно называется конкатенацией, и в  Cистема управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. SQL Server для этой операции используется знак «+» (в стандарте «||»). Итак,

Консоль
Выполнить
  1. SELECT *
  2. FROM (SELECT class +' '+ name AS cn
  3. FROM Ships
  4. ) x
  5. WHERE LEFT(cn, 1) = RIGHT(cn, 1)

Здесь мы разделяем пробелом имя класса и имя корабля. Кроме того, чтобы не повторять всю конструкцию в качестве аргумента функции, используем подзапрос. Результат будет иметь вид:

Cn
Iowa Missouri
North Carolina Washington

А если строковое выражение будет содержать лишь одну букву? Запрос выведет ее. В этом легко убедиться, написав:

Консоль
Выполнить
  1. SELECT *
  2. FROM (SELECT class +' '+ name AS cn
  3. FROM Ships
  4. UNION ALL
  5. SELECT 'a' AS nc
  6. ) x
  7. WHERE LEFT(cn, 1) = RIGHT(cn, 1)

Чтобы исключить этот случай, можно воспользоваться еще одной полезной функцией LEN.

Рекомендуемые упражнения: 35


Тэги:
ALL AVG battles CASE CAST CHAR CHARINDEX classes COALESCE Convert COUNT CTE DATEDIFF DATEPART DATETIME DELETE DISTINCT EXCEPT EXISTS EXTRACT FROM FULL JOIN GROUP BY Guadalcanal HAVING IN INNER JOIN insert INTERSECT ISNULL laptop LEFT LEFT OUTER JOIN LEN maker MAX MIN MySQL NOT IN NULL ORDER BY Outcome outcomes OVER PARTITION BY pc PIVOT PostgreSQL printer product Больше тэгов
Учебник обновлялся
несколько дней назад
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.
Rambler's Top100