0

まあ、タイトルはそれをよく説明しています...

OCIを使用して、PHP で Oracle データベースを探索しています。

問題は、データベースが大文字と小文字を区別することです。そのため、次のような文を実行すると...

SELECT COUNT(username) count, username FROM transactions WHERE username IS NOT NULL GROUP BY username

このような配列を返します

COUNT USERNAME
213   EMG_COTORA
31    EMG_cotora
123   emg_cotora

これは、データベースが大文字と小文字を区別するためです。データベースを変更せずに大文字と小文字を区別しないようにするにはどうすればよいですか? (書き込み許可はありません)

4

1 に答える 1

4

実際のクエリにはGROUP BY句があると思います。グループ化する必要があるのはUPPER(username)

SELECT upper(username), count(*) cnt
  FROM transactions
 WHERE username IS NOT NULL
 GROUP BY upper(username)

もちろん、さまざまなユーザー名の値を単一の値に変換するその他の関数を使用することもSELECTできますGROUP BY lower(username)initcap(username)

于 2013-02-26T18:08:33.390 に答える