QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

データの全角半角変換、、

質問させていただきます

sql serverで、
データの全角<=>半角変換を行う関数を作成したいですが、

いろいろ情報探してみましたが、だめでした。

どなたか教えてください。

質問者:スンパ

回答

スンちゃんパパさんの書き込み (2006-01-26 19:32) より:

データの全角<=>半角変換を行う関数を作成したいですが、

いろいろ情報探してみましたが、だめでした。

作成したいならば、REPLACE で全部舐める関数を作ればいいんですよね。




    CREATE FUNCTION ToWide(@szTarget ...) RETURNS ... As Begin
        Set @szTarget = REPLECE(@szTarget, '0', '0')
        Set @szTarget = REPLECE(@szTarget, '1', '1')
        Set @szTarget = REPLECE(@szTarget, '2', '2')
                         :
                         :
        Return @szTarget
    End

________________C# と VB.NET の入門サイト
<a href="http://blogs.wankuma.com/jeanne/" target="
blank">じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

有り難うございます。

これって、、
もしか全文字コードをREPLACEする方法ですかね?

投稿者:スンパ

編集 履歴 (0)

スンちゃんパパさんの書き込み (2006-01-26 19:51) より:

これって、、

もしか全文字コードをREPLACEする方法ですかね?

そのとおりです。

________________C# と VB.NET の入門サイト
<a href="http://blogs.wankuma.com/jeanne/" target="
blank">じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

すごいっすね!!
困りました。どうしよう???

まあ、でも解決方法があるということだけで満足するしか、、

じゃんぬねっと様
いつも有り難うございます。

投稿者:スンパ

編集 履歴 (0)

OTN に Oracle 用のコードがあるから、エディタで一気に replace

投稿者:Jitta

編集 履歴 (0)

全角の長音記号を半角の長音記号に変換するときは注意。既定の照合順序だと関係ない文字まで変換されてしまうので、長音記号の置換にはバイナリ照合順序を使用します。

set @s = replace(@s, 'ー', 'ー')

ではなく、

set @s = replace(@s COLLATE Japanese_BIN, 'ー', 'ー')

投稿者:未記入

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。