SQL Server 関連

サンプルコード

ユーザー定義関数のサンプル(「ローマ字」→「カタカナ」変換)

  • ローマ字をカタカナに変換する関数
    • テスト環境
      OS : Windows XP SP2
      DB : SQL Server 2000 SP3
  • 変換テーブル
    -- 変換テーブル
    CREATE TABLE tb_romaji_dic
    (
        roma VARCHAR(10),
        kana VARCHAR(10)
    )
    
  • 変換テーブルのデータ
    --変換テーブルのデータ
    -- 参考:http://hp.vector.co.jp/authors/VA014135/osakadic.htm
    INSERT tb_romaji_dic VALUES ( 'rryo', 'ッリョ' )
    INSERT tb_romaji_dic VALUES ( 'rrye', 'ッリェ' )
    INSERT tb_romaji_dic VALUES ( 'rryu', 'ッリュ' )
    INSERT tb_romaji_dic VALUES ( 'rryi', 'ッリィ' )
    INSERT tb_romaji_dic VALUES ( 'rrya', 'ッリャ' )
    INSERT tb_romaji_dic VALUES ( 'mmyo', 'ッミョ' )
    INSERT tb_romaji_dic VALUES ( 'mmye', 'ッミェ' )
    INSERT tb_romaji_dic VALUES ( 'mmyu', 'ッミュ' )
    INSERT tb_romaji_dic VALUES ( 'mmyi', 'ッミィ' )
    INSERT tb_romaji_dic VALUES ( 'mmya', 'ッミャ' )
    INSERT tb_romaji_dic VALUES ( 'ppyo', 'ッピョ' )
    INSERT tb_romaji_dic VALUES ( 'ppye', 'ッピェ' )
    INSERT tb_romaji_dic VALUES ( 'ppyu', 'ッピュ' )
    INSERT tb_romaji_dic VALUES ( 'ppyi', 'ッピィ' )
    INSERT tb_romaji_dic VALUES ( 'ppya', 'ッピャ' )
    INSERT tb_romaji_dic VALUES ( 'vvyo', 'ッヴョ' )
    INSERT tb_romaji_dic VALUES ( 'vvye', 'ッヴェ' )
    INSERT tb_romaji_dic VALUES ( 'vvyu', 'ッヴュ' )
    INSERT tb_romaji_dic VALUES ( 'vvyi', 'ッヴィ' )
    INSERT tb_romaji_dic VALUES ( 'vvya', 'ッヴャ' )
    INSERT tb_romaji_dic VALUES ( 'bbyo', 'ッビョ' )
    INSERT tb_romaji_dic VALUES ( 'bbye', 'ッビェ' )
    INSERT tb_romaji_dic VALUES ( 'bbyu', 'ッビュ' )
    INSERT tb_romaji_dic VALUES ( 'bbyi', 'ッビィ' )
    INSERT tb_romaji_dic VALUES ( 'bbya', 'ッビャ' )
    INSERT tb_romaji_dic VALUES ( 'ffo', 'ッフォ' )
    INSERT tb_romaji_dic VALUES ( 'ffwo', 'ッフォ' )
    INSERT tb_romaji_dic VALUES ( 'ffye', 'ッフェ' )
    INSERT tb_romaji_dic VALUES ( 'ffe', 'ッフェ' )
    INSERT tb_romaji_dic VALUES ( 'ffwe', 'ッフェ' )
    INSERT tb_romaji_dic VALUES ( 'ffwu', 'ッフゥ' )
    INSERT tb_romaji_dic VALUES ( 'ffyi', 'ッフィ' )
    INSERT tb_romaji_dic VALUES ( 'ffwi', 'ッフィ' )
    INSERT tb_romaji_dic VALUES ( 'ffi', 'ッフィ' )
    INSERT tb_romaji_dic VALUES ( 'ffwa', 'ッファ' )
    INSERT tb_romaji_dic VALUES ( 'ffa', 'ッファ' )
    INSERT tb_romaji_dic VALUES ( 'ffyo', 'ッフョ' )
    INSERT tb_romaji_dic VALUES ( 'ffyu', 'ッフュ' )
    INSERT tb_romaji_dic VALUES ( 'ffya', 'ッフャ' )
    INSERT tb_romaji_dic VALUES ( 'hhyo', 'ッヒョ' )
    INSERT tb_romaji_dic VALUES ( 'hhye', 'ッヒェ' )
    INSERT tb_romaji_dic VALUES ( 'hhyu', 'ッヒュ' )
    INSERT tb_romaji_dic VALUES ( 'hhyi', 'ッヒィ' )
    INSERT tb_romaji_dic VALUES ( 'hhya', 'ッヒャ' )
    INSERT tb_romaji_dic VALUES ( 'vvo', 'ッヴォ' )
    INSERT tb_romaji_dic VALUES ( 'vve', 'ッヴェ' )
    INSERT tb_romaji_dic VALUES ( 'vvu', 'ッヴ' )
    INSERT tb_romaji_dic VALUES ( 'vvi', 'ッヴィ' )
    INSERT tb_romaji_dic VALUES ( 'vva', 'ッヴァ' )
    INSERT tb_romaji_dic VALUES ( 'ppo', 'ッポ' )
    INSERT tb_romaji_dic VALUES ( 'ppe', 'ッペ' )
    INSERT tb_romaji_dic VALUES ( 'ppu', 'ップ' )
    INSERT tb_romaji_dic VALUES ( 'ppi', 'ッピ' )
    INSERT tb_romaji_dic VALUES ( 'ppa', 'ッパ' )
    INSERT tb_romaji_dic VALUES ( 'bbo', 'ッボ' )
    INSERT tb_romaji_dic VALUES ( 'bbe', 'ッベ' )
    INSERT tb_romaji_dic VALUES ( 'bbu', 'ッブ' )
    INSERT tb_romaji_dic VALUES ( 'bbi', 'ッビ' )
    INSERT tb_romaji_dic VALUES ( 'bba', 'ッバ' )
    INSERT tb_romaji_dic VALUES ( 'nnyo', 'ッニョ' )
    INSERT tb_romaji_dic VALUES ( 'nnye', 'ッニェ' )
    INSERT tb_romaji_dic VALUES ( 'nnyu', 'ッニュ' )
    INSERT tb_romaji_dic VALUES ( 'nnyi', 'ッニィ' )
    INSERT tb_romaji_dic VALUES ( 'nnya', 'ッニャ' )
    INSERT tb_romaji_dic VALUES ( 'ddwo', 'ッドォ' )
    INSERT tb_romaji_dic VALUES ( 'ddwe', 'ッドェ' )
    INSERT tb_romaji_dic VALUES ( 'ddwu', 'ッドゥ' )
    INSERT tb_romaji_dic VALUES ( 'ddwi', 'ッドィ' )
    INSERT tb_romaji_dic VALUES ( 'ddwa', 'ッドァ' )
    INSERT tb_romaji_dic VALUES ( 'ddho', 'ッデョ' )
    INSERT tb_romaji_dic VALUES ( 'ddhe', 'ッデェ' )
    INSERT tb_romaji_dic VALUES ( 'ddhu', 'ッデュ' )
    INSERT tb_romaji_dic VALUES ( 'ddhi', 'ッディ' )
    INSERT tb_romaji_dic VALUES ( 'ddha', 'ッデャ' )
    INSERT tb_romaji_dic VALUES ( 'ddyo', 'ッヂョ' )
    INSERT tb_romaji_dic VALUES ( 'ddye', 'ッヂェ' )
    INSERT tb_romaji_dic VALUES ( 'ddyu', 'ッヂュ' )
    INSERT tb_romaji_dic VALUES ( 'ddyi', 'ッヂィ' )
    INSERT tb_romaji_dic VALUES ( 'ddya', 'ッヂャ' )
    INSERT tb_romaji_dic VALUES ( 'ddo', 'ッド' )
    INSERT tb_romaji_dic VALUES ( 'dde', 'ッデ' )
    INSERT tb_romaji_dic VALUES ( 'ddu', 'ッヅ' )
    INSERT tb_romaji_dic VALUES ( 'ddi', 'ッヂ' )
    INSERT tb_romaji_dic VALUES ( 'dda', 'ッダ' )
    INSERT tb_romaji_dic VALUES ( 'ttwo', 'ットォ' )
    INSERT tb_romaji_dic VALUES ( 'ttwe', 'ットェ' )
    INSERT tb_romaji_dic VALUES ( 'ttwu', 'ットゥ' )
    INSERT tb_romaji_dic VALUES ( 'ttwi', 'ットィ' )
    INSERT tb_romaji_dic VALUES ( 'ttwa', 'ットァ' )
    INSERT tb_romaji_dic VALUES ( 'ttho', 'ッテョ' )
    INSERT tb_romaji_dic VALUES ( 'tthe', 'ッテェ' )
    INSERT tb_romaji_dic VALUES ( 'tthu', 'ッテュ' )
    INSERT tb_romaji_dic VALUES ( 'tthi', 'ッティ' )
    INSERT tb_romaji_dic VALUES ( 'ttha', 'ッテャ' )
    INSERT tb_romaji_dic VALUES ( 'ttso', 'ッツォ' )
    INSERT tb_romaji_dic VALUES ( 'ttse', 'ッツェ' )
    INSERT tb_romaji_dic VALUES ( 'ttsi', 'ッツィ' )
    INSERT tb_romaji_dic VALUES ( 'ttsa', 'ッツァ' )
    INSERT tb_romaji_dic VALUES ( 'ccyo', 'ッチョ' )
    INSERT tb_romaji_dic VALUES ( 'ccho', 'ッチョ' )
    INSERT tb_romaji_dic VALUES ( 'ttyo', 'ッチョ' )
    INSERT tb_romaji_dic VALUES ( 'ccye', 'ッチェ' )
    INSERT tb_romaji_dic VALUES ( 'cche', 'ッチェ' )
    INSERT tb_romaji_dic VALUES ( 'ttye', 'ッチェ' )
    INSERT tb_romaji_dic VALUES ( 'ccyu', 'ッチュ' )
    INSERT tb_romaji_dic VALUES ( 'cchu', 'ッチュ' )
    INSERT tb_romaji_dic VALUES ( 'ttyu', 'ッチィ' )
    INSERT tb_romaji_dic VALUES ( 'ccyi', 'ッチィ' )
    INSERT tb_romaji_dic VALUES ( 'ttyi', 'ッチィ' )
    INSERT tb_romaji_dic VALUES ( 'ccya', 'ッチャ' )
    INSERT tb_romaji_dic VALUES ( 'ccha', 'ッチャ' )
    INSERT tb_romaji_dic VALUES ( 'ttya', 'ッチャ' )
    INSERT tb_romaji_dic VALUES ( 'jjyo', 'ッジョ' )
    INSERT tb_romaji_dic VALUES ( 'zzyo', 'ッジョ' )
    INSERT tb_romaji_dic VALUES ( 'jjo', 'ッジョ' )
    INSERT tb_romaji_dic VALUES ( 'jjye', 'ッジェ' )
    INSERT tb_romaji_dic VALUES ( 'zzye', 'ッジェ' )
    INSERT tb_romaji_dic VALUES ( 'jje', 'ッジェ' )
    INSERT tb_romaji_dic VALUES ( 'jjyu', 'ッジュ' )
    INSERT tb_romaji_dic VALUES ( 'jju', 'ッジュ' )
    INSERT tb_romaji_dic VALUES ( 'zzyu', 'ッジュ' )
    INSERT tb_romaji_dic VALUES ( 'jjyi', 'ッジィ' )
    INSERT tb_romaji_dic VALUES ( 'zzyi', 'ッジィ' )
    INSERT tb_romaji_dic VALUES ( 'jjya', 'ッジャ' )
    INSERT tb_romaji_dic VALUES ( 'zzya', 'ッジャ' )
    INSERT tb_romaji_dic VALUES ( 'jja', 'ッジャ' )
    INSERT tb_romaji_dic VALUES ( 'sswo', 'ッスォ' )
    INSERT tb_romaji_dic VALUES ( 'sswe', 'ッスェ' )
    INSERT tb_romaji_dic VALUES ( 'sswo', 'ッスォ' )
    INSERT tb_romaji_dic VALUES ( 'sswi', 'ッスィ' )
    INSERT tb_romaji_dic VALUES ( 'sswa', 'ッスァ' )
    INSERT tb_romaji_dic VALUES ( 'ssyo', 'ッショ' )
    INSERT tb_romaji_dic VALUES ( 'ssho', 'ッショ' )
    INSERT tb_romaji_dic VALUES ( 'ssye', 'ッシェ' )
    INSERT tb_romaji_dic VALUES ( 'sshe', 'ッシェ' )
    INSERT tb_romaji_dic VALUES ( 'ssyu', 'ッシュ' )
    INSERT tb_romaji_dic VALUES ( 'sshu', 'ッシュ' )
    INSERT tb_romaji_dic VALUES ( 'ssyi', 'ッシィ' )
    INSERT tb_romaji_dic VALUES ( 'ssya', 'ッシャ' )
    INSERT tb_romaji_dic VALUES ( 'ssha', 'ッシャ' )
    INSERT tb_romaji_dic VALUES ( 'zzo', 'ッゾ' )
    INSERT tb_romaji_dic VALUES ( 'zze', 'ッゼ' )
    INSERT tb_romaji_dic VALUES ( 'zzu', 'ッズ' )
    INSERT tb_romaji_dic VALUES ( 'jji', 'ッジ' )
    INSERT tb_romaji_dic VALUES ( 'zzi', 'ッジ' )
    INSERT tb_romaji_dic VALUES ( 'zza', 'ッザ' )
    INSERT tb_romaji_dic VALUES ( 'ggwo', 'ッグォ' )
    INSERT tb_romaji_dic VALUES ( 'ggwe', 'ッグェ' )
    INSERT tb_romaji_dic VALUES ( 'ggwu', 'ッグゥ' )
    INSERT tb_romaji_dic VALUES ( 'ggwi', 'ッグィ' )
    INSERT tb_romaji_dic VALUES ( 'ggwa', 'ッグァ' )
    INSERT tb_romaji_dic VALUES ( 'ggyo', 'ッギョ' )
    INSERT tb_romaji_dic VALUES ( 'ggye', 'ッギェ' )
    INSERT tb_romaji_dic VALUES ( 'ggyu', 'ッギュ' )
    INSERT tb_romaji_dic VALUES ( 'ggyi', 'ッギィ' )
    INSERT tb_romaji_dic VALUES ( 'ggya', 'ッギャ' )
    INSERT tb_romaji_dic VALUES ( 'ggo', 'ッゴ' )
    INSERT tb_romaji_dic VALUES ( 'gge', 'ッゲ' )
    INSERT tb_romaji_dic VALUES ( 'ggu', 'ッグ' )
    INSERT tb_romaji_dic VALUES ( 'ggi', 'ッギ' )
    INSERT tb_romaji_dic VALUES ( 'gga', 'ッガ' )
    INSERT tb_romaji_dic VALUES ( 'qqwo', 'ックォ' )
    INSERT tb_romaji_dic VALUES ( 'qqo', 'ックォ' )
    INSERT tb_romaji_dic VALUES ( 'qqye', 'ックェ' )
    INSERT tb_romaji_dic VALUES ( 'qqwe', 'ックェ' )
    INSERT tb_romaji_dic VALUES ( 'qqe', 'ックェ' )
    INSERT tb_romaji_dic VALUES ( 'qqwu', 'ックゥ' )
    INSERT tb_romaji_dic VALUES ( 'qqwi', 'ックィ' )
    INSERT tb_romaji_dic VALUES ( 'qqi', 'ックィ' )
    INSERT tb_romaji_dic VALUES ( 'qqwa', 'ックァ' )
    INSERT tb_romaji_dic VALUES ( 'qqa', 'ックァ' )
    INSERT tb_romaji_dic VALUES ( 'kkyo', 'ッキョ' )
    INSERT tb_romaji_dic VALUES ( 'kkye', 'ッキェ' )
    INSERT tb_romaji_dic VALUES ( 'kkyu', 'ッキュ' )
    INSERT tb_romaji_dic VALUES ( 'kkyi', 'ッキィ' )
    INSERT tb_romaji_dic VALUES ( 'kkya', 'ッキャ' )
    INSERT tb_romaji_dic VALUES ( 'yye', 'ッイェ' )
    INSERT tb_romaji_dic VALUES ( 'wwo', 'ッヲ' )
    INSERT tb_romaji_dic VALUES ( 'wwe', 'ッウェ' )
    INSERT tb_romaji_dic VALUES ( 'wwi', 'ッウィ' )
    INSERT tb_romaji_dic VALUES ( 'wwa', 'ッワ' )
    INSERT tb_romaji_dic VALUES ( 'yyo', 'ッヨ' )
    INSERT tb_romaji_dic VALUES ( 'yyu', 'ッユ' )
    INSERT tb_romaji_dic VALUES ( 'yya', 'ッヤ' )
    INSERT tb_romaji_dic VALUES ( 'mmo', 'ッモ' )
    INSERT tb_romaji_dic VALUES ( 'mme', 'ッメ' )
    INSERT tb_romaji_dic VALUES ( 'mmu', 'ッム' )
    INSERT tb_romaji_dic VALUES ( 'mmi', 'ッミ' )
    INSERT tb_romaji_dic VALUES ( 'mma', 'ッマ' )
    INSERT tb_romaji_dic VALUES ( 'hho', 'ッホ' )
    INSERT tb_romaji_dic VALUES ( 'hhe', 'ッヘ' )
    INSERT tb_romaji_dic VALUES ( 'ffu', 'ッフ' )
    INSERT tb_romaji_dic VALUES ( 'hhu', 'ッフ' )
    INSERT tb_romaji_dic VALUES ( 'hhi', 'ッヒ' )
    INSERT tb_romaji_dic VALUES ( 'hha', 'ッハ' )
    INSERT tb_romaji_dic VALUES ( 'tto', 'ット' )
    INSERT tb_romaji_dic VALUES ( 'tte', 'ッテ' )
    INSERT tb_romaji_dic VALUES ( 'ttsu', 'ッツ' )
    INSERT tb_romaji_dic VALUES ( 'ttu', 'ッツ' )
    INSERT tb_romaji_dic VALUES ( 'cchi', 'ッチ' )
    INSERT tb_romaji_dic VALUES ( 'tti', 'ッチ' )
    INSERT tb_romaji_dic VALUES ( 'tta', 'ッタ' )
    INSERT tb_romaji_dic VALUES ( 'sso', 'ッソ' )
    INSERT tb_romaji_dic VALUES ( 'cce', 'ッセ' )
    INSERT tb_romaji_dic VALUES ( 'sse', 'ッセ' )
    INSERT tb_romaji_dic VALUES ( 'ssu', 'ッス' )
    INSERT tb_romaji_dic VALUES ( 'cci', 'ッシ' )
    INSERT tb_romaji_dic VALUES ( 'sshi', 'ッシ' )
    INSERT tb_romaji_dic VALUES ( 'ssi', 'ッシ' )
    INSERT tb_romaji_dic VALUES ( 'ssa', 'ッサ' )
    INSERT tb_romaji_dic VALUES ( 'cco', 'ッコ' )
    INSERT tb_romaji_dic VALUES ( 'kko', 'ッコ' )
    INSERT tb_romaji_dic VALUES ( 'kke', 'ッケ' )
    INSERT tb_romaji_dic VALUES ( 'qqu', 'ック' )
    INSERT tb_romaji_dic VALUES ( 'ccu', 'ック' )
    INSERT tb_romaji_dic VALUES ( 'kku', 'ック' )
    INSERT tb_romaji_dic VALUES ( 'kki', 'ッキ' )
    INSERT tb_romaji_dic VALUES ( 'cca', 'ッカ' )
    INSERT tb_romaji_dic VALUES ( 'kka', 'ッカ' )
    INSERT tb_romaji_dic VALUES ( 'ryo', 'リョ' )
    INSERT tb_romaji_dic VALUES ( 'rye', 'リェ' )
    INSERT tb_romaji_dic VALUES ( 'ryu', 'リュ' )
    INSERT tb_romaji_dic VALUES ( 'ryi', 'リィ' )
    INSERT tb_romaji_dic VALUES ( 'rya', 'リャ' )
    INSERT tb_romaji_dic VALUES ( 'myo', 'ミョ' )
    INSERT tb_romaji_dic VALUES ( 'mye', 'ミェ' )
    INSERT tb_romaji_dic VALUES ( 'myu', 'ミュ' )
    INSERT tb_romaji_dic VALUES ( 'myi', 'ミィ' )
    INSERT tb_romaji_dic VALUES ( 'mya', 'ミャ' )
    INSERT tb_romaji_dic VALUES ( 'pyo', 'ピョ' )
    INSERT tb_romaji_dic VALUES ( 'pye', 'ピェ' )
    INSERT tb_romaji_dic VALUES ( 'pyu', 'ピュ' )
    INSERT tb_romaji_dic VALUES ( 'pyi', 'ピィ' )
    INSERT tb_romaji_dic VALUES ( 'pya', 'ピャ' )
    INSERT tb_romaji_dic VALUES ( 'vyo', 'ヴョ' )
    INSERT tb_romaji_dic VALUES ( 'vye', 'ヴェ' )
    INSERT tb_romaji_dic VALUES ( 'vyu', 'ヴュ' )
    INSERT tb_romaji_dic VALUES ( 'vyi', 'ヴィ' )
    INSERT tb_romaji_dic VALUES ( 'vya', 'ヴャ' )
    INSERT tb_romaji_dic VALUES ( 'byo', 'ビョ' )
    INSERT tb_romaji_dic VALUES ( 'bye', 'ビェ' )
    INSERT tb_romaji_dic VALUES ( 'byu', 'ビュ' )
    INSERT tb_romaji_dic VALUES ( 'byi', 'ビィ' )
    INSERT tb_romaji_dic VALUES ( 'bya', 'ビャ' )
    INSERT tb_romaji_dic VALUES ( 'fo', 'フォ' )
    INSERT tb_romaji_dic VALUES ( 'fwo', 'フォ' )
    INSERT tb_romaji_dic VALUES ( 'fye', 'フェ' )
    INSERT tb_romaji_dic VALUES ( 'fe', 'フェ' )
    INSERT tb_romaji_dic VALUES ( 'fwe', 'フェ' )
    INSERT tb_romaji_dic VALUES ( 'fwu', 'フゥ' )
    INSERT tb_romaji_dic VALUES ( 'fyi', 'フィ' )
    INSERT tb_romaji_dic VALUES ( 'fwi', 'フィ' )
    INSERT tb_romaji_dic VALUES ( 'fi', 'フィ' )
    INSERT tb_romaji_dic VALUES ( 'fwa', 'ファ' )
    INSERT tb_romaji_dic VALUES ( 'fa', 'ファ' )
    INSERT tb_romaji_dic VALUES ( 'fyo', 'フョ' )
    INSERT tb_romaji_dic VALUES ( 'fyu', 'フュ' )
    INSERT tb_romaji_dic VALUES ( 'fya', 'フャ' )
    INSERT tb_romaji_dic VALUES ( 'hyo', 'ヒョ' )
    INSERT tb_romaji_dic VALUES ( 'hye', 'ヒェ' )
    INSERT tb_romaji_dic VALUES ( 'hyu', 'ヒュ' )
    INSERT tb_romaji_dic VALUES ( 'hyi', 'ヒィ' )
    INSERT tb_romaji_dic VALUES ( 'hya', 'ヒャ' )
    INSERT tb_romaji_dic VALUES ( 'vo', 'ヴォ' )
    INSERT tb_romaji_dic VALUES ( 've', 'ヴェ' )
    INSERT tb_romaji_dic VALUES ( 'vu', 'ヴ' )
    INSERT tb_romaji_dic VALUES ( 'vi', 'ヴィ' )
    INSERT tb_romaji_dic VALUES ( 'va', 'ヴァ' )
    INSERT tb_romaji_dic VALUES ( 'po', 'ポ' )
    INSERT tb_romaji_dic VALUES ( 'pe', 'ペ' )
    INSERT tb_romaji_dic VALUES ( 'pu', 'プ' )
    INSERT tb_romaji_dic VALUES ( 'pi', 'ピ' )
    INSERT tb_romaji_dic VALUES ( 'pa', 'パ' )
    INSERT tb_romaji_dic VALUES ( 'bo', 'ボ' )
    INSERT tb_romaji_dic VALUES ( 'be', 'ベ' )
    INSERT tb_romaji_dic VALUES ( 'bu', 'ブ' )
    INSERT tb_romaji_dic VALUES ( 'bi', 'ビ' )
    INSERT tb_romaji_dic VALUES ( 'ba', 'バ' )
    INSERT tb_romaji_dic VALUES ( 'tsu', 'ツ' )
    INSERT tb_romaji_dic VALUES ( 'chi', 'チ' )
    INSERT tb_romaji_dic VALUES ( 'shi', 'シ' )
    INSERT tb_romaji_dic VALUES ( 'nyo', 'ニョ' )
    INSERT tb_romaji_dic VALUES ( 'nye', 'ニェ' )
    INSERT tb_romaji_dic VALUES ( 'nyu', 'ニュ' )
    INSERT tb_romaji_dic VALUES ( 'nyi', 'ニィ' )
    INSERT tb_romaji_dic VALUES ( 'nya', 'ニャ' )
    INSERT tb_romaji_dic VALUES ( 'dwo', 'ドォ' )
    INSERT tb_romaji_dic VALUES ( 'dwe', 'ドェ' )
    INSERT tb_romaji_dic VALUES ( 'dwu', 'ドゥ' )
    INSERT tb_romaji_dic VALUES ( 'dwi', 'ドィ' )
    INSERT tb_romaji_dic VALUES ( 'dwa', 'ドァ' )
    INSERT tb_romaji_dic VALUES ( 'dho', 'デョ' )
    INSERT tb_romaji_dic VALUES ( 'dhe', 'デェ' )
    INSERT tb_romaji_dic VALUES ( 'dhu', 'デュ' )
    INSERT tb_romaji_dic VALUES ( 'dhi', 'ディ' )
    INSERT tb_romaji_dic VALUES ( 'dha', 'デャ' )
    INSERT tb_romaji_dic VALUES ( 'dyo', 'ヂョ' )
    INSERT tb_romaji_dic VALUES ( 'dye', 'ヂェ' )
    INSERT tb_romaji_dic VALUES ( 'dyu', 'ヂュ' )
    INSERT tb_romaji_dic VALUES ( 'dyi', 'ヂィ' )
    INSERT tb_romaji_dic VALUES ( 'dya', 'ヂャ' )
    INSERT tb_romaji_dic VALUES ( 'do', 'ド' )
    INSERT tb_romaji_dic VALUES ( 'de', 'デ' )
    INSERT tb_romaji_dic VALUES ( 'du', 'ヅ' )
    INSERT tb_romaji_dic VALUES ( 'di', 'ヂ' )
    INSERT tb_romaji_dic VALUES ( 'da', 'ダ' )
    INSERT tb_romaji_dic VALUES ( 'two', 'トォ' )
    INSERT tb_romaji_dic VALUES ( 'twe', 'トェ' )
    INSERT tb_romaji_dic VALUES ( 'twu', 'トゥ' )
    INSERT tb_romaji_dic VALUES ( 'twi', 'トィ' )
    INSERT tb_romaji_dic VALUES ( 'twa', 'トァ' )
    INSERT tb_romaji_dic VALUES ( 'tho', 'テョ' )
    INSERT tb_romaji_dic VALUES ( 'the', 'テェ' )
    INSERT tb_romaji_dic VALUES ( 'thu', 'テュ' )
    INSERT tb_romaji_dic VALUES ( 'thi', 'ティ' )
    INSERT tb_romaji_dic VALUES ( 'tha', 'テャ' )
    INSERT tb_romaji_dic VALUES ( 'tso', 'ツォ' )
    INSERT tb_romaji_dic VALUES ( 'tse', 'ツェ' )
    INSERT tb_romaji_dic VALUES ( 'tsi', 'ツィ' )
    INSERT tb_romaji_dic VALUES ( 'tsa', 'ツァ' )
    INSERT tb_romaji_dic VALUES ( 'cyo', 'チョ' )
    INSERT tb_romaji_dic VALUES ( 'cho', 'チョ' )
    INSERT tb_romaji_dic VALUES ( 'tyo', 'チョ' )
    INSERT tb_romaji_dic VALUES ( 'cye', 'チェ' )
    INSERT tb_romaji_dic VALUES ( 'che', 'チェ' )
    INSERT tb_romaji_dic VALUES ( 'tye', 'チェ' )
    INSERT tb_romaji_dic VALUES ( 'cyu', 'チュ' )
    INSERT tb_romaji_dic VALUES ( 'chu', 'チュ' )
    INSERT tb_romaji_dic VALUES ( 'tyu', 'チィ' )
    INSERT tb_romaji_dic VALUES ( 'cyi', 'チィ' )
    INSERT tb_romaji_dic VALUES ( 'tyi', 'チィ' )
    INSERT tb_romaji_dic VALUES ( 'cya', 'チャ' )
    INSERT tb_romaji_dic VALUES ( 'cha', 'チャ' )
    INSERT tb_romaji_dic VALUES ( 'tya', 'チャ' )
    INSERT tb_romaji_dic VALUES ( 'jyo', 'ジョ' )
    INSERT tb_romaji_dic VALUES ( 'zyo', 'ジョ' )
    INSERT tb_romaji_dic VALUES ( 'jo', 'ジョ' )
    INSERT tb_romaji_dic VALUES ( 'jye', 'ジェ' )
    INSERT tb_romaji_dic VALUES ( 'zye', 'ジェ' )
    INSERT tb_romaji_dic VALUES ( 'je', 'ジェ' )
    INSERT tb_romaji_dic VALUES ( 'jyu', 'ジュ' )
    INSERT tb_romaji_dic VALUES ( 'ju', 'ジュ' )
    INSERT tb_romaji_dic VALUES ( 'zyu', 'ジュ' )
    INSERT tb_romaji_dic VALUES ( 'jyi', 'ジィ' )
    INSERT tb_romaji_dic VALUES ( 'zyi', 'ジィ' )
    INSERT tb_romaji_dic VALUES ( 'jya', 'ジャ' )
    INSERT tb_romaji_dic VALUES ( 'zya', 'ジャ' )
    INSERT tb_romaji_dic VALUES ( 'ja', 'ジャ' )
    INSERT tb_romaji_dic VALUES ( 'swo', 'スォ' )
    INSERT tb_romaji_dic VALUES ( 'swe', 'スェ' )
    INSERT tb_romaji_dic VALUES ( 'swo', 'スォ' )
    INSERT tb_romaji_dic VALUES ( 'swi', 'スィ' )
    INSERT tb_romaji_dic VALUES ( 'swa', 'スァ' )
    INSERT tb_romaji_dic VALUES ( 'syo', 'ショ' )
    INSERT tb_romaji_dic VALUES ( 'sho', 'ショ' )
    INSERT tb_romaji_dic VALUES ( 'sye', 'シェ' )
    INSERT tb_romaji_dic VALUES ( 'she', 'シェ' )
    INSERT tb_romaji_dic VALUES ( 'syu', 'シュ' )
    INSERT tb_romaji_dic VALUES ( 'shu', 'シュ' )
    INSERT tb_romaji_dic VALUES ( 'syi', 'シィ' )
    INSERT tb_romaji_dic VALUES ( 'sya', 'シャ' )
    INSERT tb_romaji_dic VALUES ( 'sha', 'シャ' )
    INSERT tb_romaji_dic VALUES ( 'zo', 'ゾ' )
    INSERT tb_romaji_dic VALUES ( 'ze', 'ゼ' )
    INSERT tb_romaji_dic VALUES ( 'zu', 'ズ' )
    INSERT tb_romaji_dic VALUES ( 'ji', 'ジ' )
    INSERT tb_romaji_dic VALUES ( 'zi', 'ジ' )
    INSERT tb_romaji_dic VALUES ( 'za', 'ザ' )
    INSERT tb_romaji_dic VALUES ( 'gwo', 'グォ' )
    INSERT tb_romaji_dic VALUES ( 'gwe', 'グェ' )
    INSERT tb_romaji_dic VALUES ( 'gwu', 'グゥ' )
    INSERT tb_romaji_dic VALUES ( 'gwi', 'グィ' )
    INSERT tb_romaji_dic VALUES ( 'gwa', 'グァ' )
    INSERT tb_romaji_dic VALUES ( 'gyo', 'ギョ' )
    INSERT tb_romaji_dic VALUES ( 'gye', 'ギェ' )
    INSERT tb_romaji_dic VALUES ( 'gyu', 'ギュ' )
    INSERT tb_romaji_dic VALUES ( 'gyi', 'ギィ' )
    INSERT tb_romaji_dic VALUES ( 'gya', 'ギャ' )
    INSERT tb_romaji_dic VALUES ( 'go', 'ゴ' )
    INSERT tb_romaji_dic VALUES ( 'ge', 'ゲ' )
    INSERT tb_romaji_dic VALUES ( 'gu', 'グ' )
    INSERT tb_romaji_dic VALUES ( 'gi', 'ギ' )
    INSERT tb_romaji_dic VALUES ( 'ga', 'ガ' )
    INSERT tb_romaji_dic VALUES ( 'qwo', 'クォ' )
    INSERT tb_romaji_dic VALUES ( 'qo', 'クォ' )
    INSERT tb_romaji_dic VALUES ( 'qye', 'クェ' )
    INSERT tb_romaji_dic VALUES ( 'qwe', 'クェ' )
    INSERT tb_romaji_dic VALUES ( 'qe', 'クェ' )
    INSERT tb_romaji_dic VALUES ( 'qwu', 'クゥ' )
    INSERT tb_romaji_dic VALUES ( 'qwi', 'クィ' )
    INSERT tb_romaji_dic VALUES ( 'qi', 'クィ' )
    INSERT tb_romaji_dic VALUES ( 'qwa', 'クァ' )
    INSERT tb_romaji_dic VALUES ( 'qa', 'クァ' )
    INSERT tb_romaji_dic VALUES ( 'kyo', 'キョ' )
    INSERT tb_romaji_dic VALUES ( 'kye', 'キェ' )
    INSERT tb_romaji_dic VALUES ( 'kyu', 'キュ' )
    INSERT tb_romaji_dic VALUES ( 'kyi', 'キィ' )
    INSERT tb_romaji_dic VALUES ( 'kya', 'キャ' )
    INSERT tb_romaji_dic VALUES ( 'ye', 'イェ' )
    INSERT tb_romaji_dic VALUES ( 'wo', 'ヲ' )
    INSERT tb_romaji_dic VALUES ( 'we', 'ウェ' )
    INSERT tb_romaji_dic VALUES ( 'wi', 'ウィ' )
    INSERT tb_romaji_dic VALUES ( 'wa', 'ワ' )
    INSERT tb_romaji_dic VALUES ( 'ro', 'ロ' )
    INSERT tb_romaji_dic VALUES ( 're', 'レ' )
    INSERT tb_romaji_dic VALUES ( 'ru', 'ル' )
    INSERT tb_romaji_dic VALUES ( 'ri', 'リ' )
    INSERT tb_romaji_dic VALUES ( 'ra', 'ラ' )
    INSERT tb_romaji_dic VALUES ( 'yo', 'ヨ' )
    INSERT tb_romaji_dic VALUES ( 'yu', 'ユ' )
    INSERT tb_romaji_dic VALUES ( 'ya', 'ヤ' )
    INSERT tb_romaji_dic VALUES ( 'mo', 'モ' )
    INSERT tb_romaji_dic VALUES ( 'me', 'メ' )
    INSERT tb_romaji_dic VALUES ( 'mu', 'ム' )
    INSERT tb_romaji_dic VALUES ( 'mi', 'ミ' )
    INSERT tb_romaji_dic VALUES ( 'ma', 'マ' )
    INSERT tb_romaji_dic VALUES ( 'ho', 'ホ' )
    INSERT tb_romaji_dic VALUES ( 'he', 'ヘ' )
    INSERT tb_romaji_dic VALUES ( 'fu', 'フ' )
    INSERT tb_romaji_dic VALUES ( 'hu', 'フ' )
    INSERT tb_romaji_dic VALUES ( 'hi', 'ヒ' )
    INSERT tb_romaji_dic VALUES ( 'ha', 'ハ' )
    INSERT tb_romaji_dic VALUES ( 'no', 'ノ' )
    INSERT tb_romaji_dic VALUES ( 'ne', 'ネ' )
    INSERT tb_romaji_dic VALUES ( 'nu', 'ヌ' )
    INSERT tb_romaji_dic VALUES ( 'ni', 'ニ' )
    INSERT tb_romaji_dic VALUES ( 'na', 'ナ' )
    INSERT tb_romaji_dic VALUES ( 'to', 'ト' )
    INSERT tb_romaji_dic VALUES ( 'te', 'テ' )
    INSERT tb_romaji_dic VALUES ( 'tu', 'ツ' )
    INSERT tb_romaji_dic VALUES ( 'ti', 'チ' )
    INSERT tb_romaji_dic VALUES ( 'ta', 'タ' )
    INSERT tb_romaji_dic VALUES ( 'so', 'ソ' )
    INSERT tb_romaji_dic VALUES ( 'ce', 'セ' )
    INSERT tb_romaji_dic VALUES ( 'se', 'セ' )
    INSERT tb_romaji_dic VALUES ( 'su', 'ス' )
    INSERT tb_romaji_dic VALUES ( 'ci', 'シ' )
    INSERT tb_romaji_dic VALUES ( 'si', 'シ' )
    INSERT tb_romaji_dic VALUES ( 'sa', 'サ' )
    INSERT tb_romaji_dic VALUES ( 'co', 'コ' )
    INSERT tb_romaji_dic VALUES ( 'ko', 'コ' )
    INSERT tb_romaji_dic VALUES ( 'ke', 'ケ' )
    INSERT tb_romaji_dic VALUES ( 'qu', 'ク' )
    INSERT tb_romaji_dic VALUES ( 'cu', 'ク' )
    INSERT tb_romaji_dic VALUES ( 'ku', 'ク' )
    INSERT tb_romaji_dic VALUES ( 'ki', 'キ' )
    INSERT tb_romaji_dic VALUES ( 'ca', 'カ' )
    INSERT tb_romaji_dic VALUES ( 'ka', 'カ' )
    INSERT tb_romaji_dic VALUES ( 'o', 'オ' )
    INSERT tb_romaji_dic VALUES ( 'e', 'エ' )
    INSERT tb_romaji_dic VALUES ( 'u', 'ウ' )
    INSERT tb_romaji_dic VALUES ( 'i', 'イ' )
    INSERT tb_romaji_dic VALUES ( 'a', 'ア' )
    INSERT tb_romaji_dic VALUES ( 'nn', 'ン' )
    INSERT tb_romaji_dic VALUES ( 'n', 'ン' )
    INSERT tb_romaji_dic VALUES ( ')', ')' )
    INSERT tb_romaji_dic VALUES ( '(', '(' )
    INSERT tb_romaji_dic VALUES ( '!', '!' )
    INSERT tb_romaji_dic VALUES ( '?', '?' )
    INSERT tb_romaji_dic VALUES ( '.', '。' )
    INSERT tb_romaji_dic VALUES ( ',', '、' )
  • 「ローマ字 → カタカナ」変換関数
    --「ローマ字 → カタカナ」変換関数
    CREATE FUNCTION fn_romaji_to_kana
    (
        @roma VARCHAR(256)
    )
    RETURNS VARCHAR(256)
    AS
    BEGIN
        DECLARE @dic_roma VARCHAR(256)
        DECLARE @dic_kana VARCHAR(256)
        DECLARE cur_dic CURSOR FOR
    --  SELECT * FROM tb_romaji_dic
        SELECT * FROM tb_romaji_dic ORDER BY LEN(roma) DESC, kana
        OPEN cur_dic
        FETCH NEXT FROM cur_dic
        INTO @dic_roma, @dic_kana
        WHILE @@FETCH_STATUS = 0
        BEGIN
            FETCH NEXT FROM cur_dic
            INTO @dic_roma, @dic_kana
            SET @roma = REPLACE( @roma, @dic_roma, @dic_kana )
        END
        CLOSE cur_dic
        DEALLOCATE cur_dic
        RETURN @roma
    END
    
  • テストデータ
    CREATE TABLE tb_romaji_text
    (
        roma    VARCHAR(256),
        kana    VARCHAR(256)
    )
    
    INSERT tb_romaji_text VALUES ( 'aiueo', '' )
    INSERT tb_romaji_text VALUES ( 'honnjituhaseitennnari', '' )
    
  • テスト内容
    --テスト内容
    --SELECT dbo.fn_romaji_to_kana( 'honnjituhaseitennnari' )
    SELECT dbo.fn_romaji_to_kana( roma ) FROM tb_romaji_text
    
  • 実行結果
    --実行結果
    アイウエオ
    ホンジツハセイテンナリ
    • 辞書を変更すれば「ひらがな変換」とか「大阪弁変換」とかも可能(と思われる)。
  • 変更履歴
    • 変換テーブルが「ひらがな」になっていた為「カタカナ」に修正しました(2005/02/24 14:18)
    • 「tsu」「chi」「shi」の順番を変更しました。(2005/02/24 19:43)
    • カーソルの SELECT に「ORDER BY LEN(roma) DESC, kana」を追加しました。(2005/02/24 19:56)
    • 変換テーブルの一部記号 ”()!?” が半角になっていたのを全角に修正。(2005/02/24 22:51)

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-02-27 (土) 14:19:09 (5170d)