Что эквивалентно Firebirds «НАЧИНАЮТСЯ С» при использовании других баз данных, например Oracle? - PullRequest
1 голос
/ 23 февраля 2009

Я изучаю возможность обновления нашего приложения для работы с серверами баз данных, отличными от Firebird. Мы полагаемся на «НАЧАТЬ С» для доступа к нашим иерархическим данным Без этого я не понимаю, как мы можем перейти на другую базу данных без серьезного изменения.

Если вы не знакомы с «НАЧИНАЕТСЯ С», он просто проверяет, начинается ли строковое поле с определенной строки, например, ...

WHERE 'This is a test' STARTS WITH 'This is' ... 

вернул бы true. Если столбец проиндексирован, индекс будет использоваться для сравнения.

Поддерживают ли другие серверы баз данных (особенно Oracle / MSSQL) «НАЧАТЬ С» (или «НАЧАТЬ С»)?

Ответы [ 3 ]

8 голосов
/ 23 февраля 2009

Стандартный SQL для достижения этой цели - что-то вроде ... ГДЕ "Это тест", например "Это%";

0 голосов
/ 23 февраля 2009

Oracle's Select имеет «Начать с» http://www.oracle.com/pls/db10g/db10g.show_toc?which=main&partno=b10759&maxlevel=2&section=&expand=41274">Oracle Документация 10g для иерархических запросов. Он был частью Oracle много лет (по крайней мере, Oracle 8).

Не уверен насчет SQL Server.

0 голосов
/ 23 февраля 2009

Некоторые БД также поддерживают WHERE LEFT («Это тест», 7) = «Это» (хотя я не помню, является ли это частью стандарта SQL).

...