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

Функция REVERSE

Эта функция переворачивает строку, как бы читая ее справа налево. То есть результатом запроса

Консоль
Выполнить
  1. SELECT REVERSE('abcdef')
будет fedcba. Если бы отсутствовала функция RIGHT, то запрос

Консоль
Выполнить
  1. SELECT RIGHT('abcdef', 3)
можно было бы равносильно заменить запросом

Консоль
Выполнить
  1. SELECT REVERSE(LEFT(REVERSE('abcdef'), 3))

Польза этой функции в следующем. Пусть нам требуется определить позицию не первого, а последнего вхождения некоторого символа (или последовательности символов) в строке. Вспомним пример, в котором мы определяли позицию первого символа а в названии корабля California:

Консоль
Выполнить
  1. SELECT CHARINDEX('a', name) first_a
  2. FROM Ships
  3. WHERE name = 'California'

Определим теперь позицию последнего вхождения в это название символа а. Функция CHARINDEX('a', REVERSE(name)) позволит найти эту позицию, но справа. Для получения позиции этого же символа слева достаточно написать

Консоль
Выполнить
  1. SELECT LEN(name) + 1 - CHARINDEX('a', REVERSE(name)) first_a
  2. FROM Ships
  3. WHERE name = 'California'
Тэги:
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