
いつもお世話になっております。
標題についてご教授下さい。
DBからある項目をupper関数を使って変換しているのですが、
変換されません。
UPPERは文字列などを大文字に変換する認識なのですが、
わかりません。
[table A]
key1 Test
key2 test
SELECT upper(key1), upper(key2) from A
結果
key1 key2
Test TEST
全角の英字が変換されません。
そもそも全角はtranslateしないとだめでしょうか。
お手数ですが、宜しくお願いします。
No.2ベストアンサー
- 回答日時:
ロケール(lc_ctype)の設定とロケールライブラリの実装に依存します。
日本語のロケールであればロケールライブラリの実装に依存しますが、少なくとも手元のLinux環境ではupper関数で全角アルファベットの小文字を大文字に変換できます。
現在のロケールは以下のSQLで確認できます。
=# SHOW lc_ctype;
lc_ctype
----------
C
(1 行)
Cというのはロケールなしの状態です。これが日本語のロケール(ja_JP.文字コード)になっていれば全角アルファベットでも変換できます。
PostgreSQL 8.4以降であればデータベースごとにロケールを指定できます。以下のSQLで日本語のロケールを指定してデータベースを作成できます。
=# CREATE DATABASE test TEMPLATE template0 LC_CTYPE 'ja_JP.UTF8';
CREATE DATABASE
日本語のロケールのデータベースに接続し、upper関数を実行すると全角アルファベットでも大文字に変換できます。
=# \c test
You are now connected to database "test".
=# SELECT upper('a');
upper
-------
A
(1 row)
返信が遅れて申し訳ありません。
>SHOW lc_ctype;
確かに手前の環境では
Cと表示されました。
これが原因だったんですね。
ありがとうございます。
大変参考になりました。
No.1
- 回答日時:
>そもそも全角はtranslateしないとだめでしょうか
はい。upper は半角小文字を大文字にするだけです。
upper( translate( カラム ) )
ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
select文の書き方「半角カナ+...
-
SQLにて指定日付より前、かつ最...
-
PostgreSqlでFunctionの作成に...
-
postgresql についてです
-
エクセルで縦のカラムデータを...
-
新規作成したPostgresqlデータ...
-
postgresqlでのトランザクショ...
-
自治会総会の成立要件について
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
列が存在しないと言われる
-
CPRM decrypterのエラーコード...
-
Postgresql9.4用のNpgsqlのダウ...
-
PostgreSQL レコードからアイテ...
-
ここでいう「データソース名」...
-
Windows10 バージョン1909がイ...
-
Mac High Sierraでのubuntuのus...
-
Windows10でQuickTimeがインス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PCでSteamのサイト内で検索する...
-
postgresql のupper関数について
-
PHPでHTMLからPOSTされたデータ...
-
携帯電話FOMAシリーズでの文字...
-
PHPで「~」文字が化けてしまう
-
バナーについて
-
$str=mb_ereg_replace('goo','...
-
PHPはバックエンドそれともフロ...
-
仕入先への回答督促で【ご教示...
-
I thought he was just passing...
-
HDDが突然高速回転します。
-
音節とモーラの違い
-
1000mlのプロテインシェイカー
-
”教示する”の使い方について
-
モノラル入力された音声をステ...
-
日付が5~60年変わる
-
Windows7の停止できないサービ...
-
在庫日数について
-
メッセンジャースパム
-
正しいことや事実を教示する人...
おすすめ情報