
いつもお世話になっております。
標題についてご教授下さい。
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で質問しましょう!
似たような質問が見つかりました
- Java Java 南京錠 2 2023/02/04 11:46
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Excel(エクセル) 全角文字「ヴ」の半角文字「ヴ」への変換方法について 3 2022/11/05 12:07
- Visual Basic(VBA) Excel_マクロ_現在開いているシートにマクロを実行したいです 1 2023/02/14 23:54
- デスクトップパソコン 40年間の悩み キーボードにおいて初期値として漢字ローマ字変換に設定する方法 8 2023/05/08 14:50
- マウス・キーボード パソコンのゲームで押しずらいキーがあったのでchange keyというキーの割り当てを変える ソフト 1 2023/03/17 09:43
- マウス・キーボード PCで大文字と小文字が逆になりました。 3 2023/06/17 11:00
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
postgresql についてです
-
自治会総会の成立要件について
-
エクセルで縦のカラムデータを...
-
SQLでUPSERTを一度に複数行やる...
-
Postgreのupdateコマンドでエラー
-
画像とカテゴリーを出力したい...
-
Windows10でQuickTimeがインス...
-
特定の位置が特定の範囲に含ま...
-
PostgreSQL14.6のSSL対応について
-
bashスクリプトでpostgreSQLの...
-
plgファイルの開き方
-
指定の日付以前かつ最新を取得...
-
postgreSQLのint型は桁数指定が...
-
shellからpostgresqlへの変数の...
-
レンタルサーバのPostgreSqlをG...
-
PostgresSQLの環境設定について
-
select文の書き方「半角カナ+...
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PCでSteamのサイト内で検索する...
-
postgresql のupper関数について
-
バナーについて
-
PHPでHTMLからPOSTされたデータ...
-
PHPで「~」文字が化けてしまう
-
$str=mb_ereg_replace('goo','...
-
PHPはバックエンドそれともフロ...
-
仕入先への回答督促で【ご教示...
-
HDDが突然高速回転します。
-
古いノートパソコンなんですが...
-
Windows7の停止できないサービ...
-
全日空でA380が使用されている...
-
phpPgAdminの読みを教えてくだ...
-
パソコンが遅くなる理由を教え...
-
「ご教示になる」は「教える」...
-
メッセンジャーで追加登録した...
-
”教示する”の使い方について
-
音節とモーラの違い
-
不要なサービスを停止(無効)にする
-
1000mlのプロテインシェイカー
おすすめ情報