1

Firebird 以外のデータベース サーバーで動作するようにアプリケーションを更新する可能性を調査しています。階層データにアクセスするには、「STARTING WITH」に依存しています。それがなければ、深刻な再設計なしに別のデータベースに移行する方法がわかりません。

「STARTS WITH」に慣れていない場合は、文字列フィールドが特定の文字列で始まるかどうかを確認するだけです。

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

true を返します。列にインデックスが付けられている場合、そのインデックスが比較に使用されます。

他のデータベース サーバー (特に Oracle/MSSQL) は "STARTING WITH" (または "STARTS WITH") をサポートしていますか?

4

3 に答える 3

9

これを達成するための標準的な SQL は次のようなものです... WHERE 'This is a test' like 'This is%';

于 2009-02-23T09:29:09.040 に答える
0

一部の DB は WHERE LEFT('This is a test', 7) = 'This is' もサポートしています (ただし、これが SQL 標準の一部であるかどうかは覚えていません)。

于 2009-02-23T09:32:19.080 に答える
0

Oracle の Select には、階層クエリ用の "Start With" http://www.oracle.com/pls/db10g/db10g.show_toc?which=main&partno=b10759&maxlevel=2§ion=&expand=41274">Oracle Documentation 10g があります。長年の Oracle (少なくとも Oracle 8)。

SQL Serverについてはわかりません。

于 2009-02-23T09:42:24.623 に答える