2

SQL を使用して、PGAdmin を使用して 350 万行のテーブルからエントリのサブセットを返そうとしています。次のコードは、131,970 行を返します。

SELECT 
  orgs.org_name, 
  orgs.org_oid
FROM 
  public.orgs
WHER
  org_name LIKE 'L%'
ORDER BY
  orgs.org_name ASC

ただし、LIKE 基準にさらに文字を追加すると、PGAdmin はデータをまったく返しません。

SELECT 
  orgs.org_name, 
  orgs.org_oid
FROM 
  public.orgs
WHER
  org_name LIKE 'Lo%'
ORDER BY
  orgs.org_name ASC

SQL に問題があるとは思いませんが、PGAdmin からエラー メッセージが表示されず、メモリまたはその他の問題に問題がある可能性があります。

PGAdmin 1.16.0 と Postgres 9.2 を使用して、Mac OS X 10.8 で実行しています。

4

3 に答える 3

2

ilike大文字と小文字を区別せずにフィルタリングするために使用できます。

SELECT orgs.org_name, orgs.org_oid FROM public.orgs
WHERE
UPPER(org_name) ILIKE 'LO%' --OR ILIKE 'lo%' (same thing)
于 2012-12-17T11:49:32.590 に答える
2

データに下位のキーワードを使用してみてください。

SELECT 
  orgs.org_name, 
  orgs.org_oid
FROM 
  public.orgs
WHER
  lower(org_name) LIKE 'lo%'
ORDER BY
  orgs.org_name ASC
于 2012-12-17T11:33:33.937 に答える
2

orgs名前が「Lo」で始まる場合は、次のように使用してみてくださいUPPER

SELECT 
  orgs.org_name, 
  orgs.org_oid
FROM 
  public.orgs
WHERE
  UPPER(org_name) LIKE 'LO%'
ORDER BY
  orgs.org_name ASC
于 2012-12-17T11:34:09.977 に答える