- PR -

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

1
投稿者投稿内容
スンパ
ベテラン
会議室デビュー日: 2005/05/23
投稿数: 85
投稿日時: 2006-01-26 19:32
質問させていただきます

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

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

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


じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-26 19:43
引用:

スンちゃんパパさんの書き込み (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 の入門サイト
じゃんぬねっと日誌
スンパ
ベテラン
会議室デビュー日: 2005/05/23
投稿数: 85
投稿日時: 2006-01-26 19:51
有り難うございます。

これって、、
もしか全文字コードをREPLACEする方法ですかね?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-01-26 19:54
引用:

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

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


そのとおりです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
スンパ
ベテラン
会議室デビュー日: 2005/05/23
投稿数: 85
投稿日時: 2006-01-26 19:57
すごいっすね!!
困りました。どうしよう???

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


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

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-01-26 23:53
OTN に Oracle 用のコードがあるから、エディタで一気に replace
未記入
ぬし
会議室デビュー日: 2004/09/17
投稿数: 667
投稿日時: 2006-01-27 00:21
全角の長音記号を半角の長音記号に変換するときは注意。既定の照合順序だと関係ない文字まで変換されてしまうので、長音記号の置換にはバイナリ照合順序を使用します。

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

ではなく、

set @s = replace(@s COLLATE Japanese_BIN, 'ー', 'ー')
BabyDaemons
会議室デビュー日: 2008/04/22
投稿数: 4
投稿日時: 2008-04-22 10:09
いまさらながら実装例がありますので、お土産にどうぞ↓

http://d.hatena.ne.jp/babydaemons/20080226
1

スキルアップ/キャリアアップ(JOB@IT)