No.1
- 回答日時:
こんにちは。
あぁ~PL/SQL、うろおぼえ~~~で、自身無しですが・・・
Hensu := N || Hsensu1;
|| パイプ って、文字列結合でしたよね?
なので、この命令って、
Nという変数内の文字 と Hsensu1 という変数内の文字を結合して、Hensuに入れろですよね。
NVARCHAR2 ← VARCHAR2 の受け渡しって、そのまま直で、渡せませんでしたっけ?
Hensu := Hsensu1;
ひょっとして、日本語(2バイト文字)化けちゃいます?
この回答への補足
回答ありがとうございます。
NVARCHAR2 ← VARCHAR2 の受け渡しって、そのまま直で、渡せませんでしたっけ?
Hensu := Hsensu1;
上記のように、受け渡すと’キャラクタセットが違います’といった旨のコンパイルエラーが出てしまいます。
そこで、試験的に色々やってみて
Hensu := N'テスト';
がうまくいったので(SQL*PLUSのUPDATEにおいて、NVARCHAR2への更新は'N'をつけるようです)、
Hensu := N || Hsensu1;
といったちょっと浅はかなことをしているのです。
うーん、基本的にPL/SQLでVARCHAR2の変数はつかえないのでしょうか?(そんなことはないと思うけど)
No.2
- 回答日時:
再び。
そうですか、だめですかぁ~~。残念( ̄- ̄;
コンバート関数を、ダミーテーブルで・・・・
select convert(NVARCHAR2, :Hsensu1)
from dual
で、だめですかね?
No.3ベストアンサー
- 回答日時:
三度、失礼。
下のまんまじゃ、あんまりにもわかり辛いので・・・。(^^;;;
Hensu := (select convert(NVARCHAR2, :Hsensu1)
from dual);
で、ダメでしょうか?
ORACLEの場合は、dual がダミーテーブル(なはず)です。
これで、SQL文が成立しますので、変数に、値が格納されると思うのですが。
でわでわ
どうもです。
SQLの組み込み関数(convert)を使ってやってみました。
しかし、以前と同様にキャラクタセットの不一致でエラーとなってしまいました。
→キャラクタセットの設定方法が違うのでしょうか???
それで、他の組み込み関数はないかとあれこれ探したところTRANSLATEという関数を使ってみました。
Hensu := TRANSLATE(Hensu1 USING NCHAR_CS);
→'NCHAR_CS'でNCHARやNVARCAR2で使用するキャラクタセットを設定できるとのことです。
するとエラーなしでコンパイルできました。
Haizyさんのヒントのおかげでなんとか前に進むことができました。
色々アドバイスしていただいてありがとうございました。
感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 変数宣言と初期値代入の場所について 3 2022/10/31 19:09
- その他(プログラミング・Web制作) 変数宣言および代入について 4 2022/11/02 13:03
- Excel(エクセル) Excel マクロで For 文のインデックスを先に宣言する理由 7 2022/08/27 00:26
- C言語・C++・C# 変数の初期化について 5 2022/10/02 08:55
- C言語・C++・C# 競技プログラミングに関する質問です。 3 2022/04/03 19:51
- 政治 気象庁の「梅雨明け宣言」は不要。 14 2023/07/11 13:15
- 歴史学 大学院の試験問題で、問題文はアメリカ独立宣言を論述しなさいです。添削お願いします。 フレンチ=インデ 1 2022/08/11 19:00
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- Visual Basic(VBA) VisualBasic2015で変数の宣言の仕方を教えてください。さ 3 2023/03/07 09:55
- その他(悩み相談・人生相談) ひろゆきも言ってたけどマッチングアプリって男性はネットの表記や写真でモテる一部の層のヤリモクアプリで 1 2022/09/02 20:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select句副問い合わせ 値の個...
-
GROUP BYを行った後に結合した...
-
select insertで複数テーブルか...
-
SET句内で複数の条件を指定して...
-
oracleの分割delete
-
V$SGAとV$PARAMETERの確認
-
select文でフリーズします。
-
データベースの基礎かもしれま...
-
unionでマージした副問合せを結合
-
2つのテーブル結合
-
SQL 年だけ抽出
-
外部結合とor条件混在の記述方法
-
SELECTの結果で同一行を複数回...
-
unionの結果は集計はできないで...
-
Accessで別テーブルの値をフォ...
-
エクスプローラーで「2つの条件...
-
ファイル書込みで一行もしくは...
-
<SQL>条件付きで最小値レコード...
-
SQLServer 日付が直前のレコー...
-
SQL>UPDATEと同時にその件数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
SELECTの結果で同一行を複数回...
-
MERGE文を単体テーブルに対して...
-
固定値を含む結合と複数テーブ...
-
複数テーブルのMAX値の行データ...
-
他のテーブルを参照した値はupd...
-
unionの結果は集計はできないで...
-
外部結合とor条件混在の記述方法
-
oracleの分割delete
-
SET句内で複数の条件を指定して...
-
SQL GROUPで件数の一番多いレコ...
-
DELETE 文とEXISTSの使い方につ...
-
COUNTの取得方法(?)について...
-
集計後の数値が倍になる
-
SQLの書き方(チェックボックス)
-
unionでマージした副問合せを結合
-
結合と副問い合わせの違い
-
副問い合わせのinsert文
おすすめ情報