Oracle ¤ÇÆüËܸì¤ò¼è¤ê°·¤¦¤È¤­¤Îʸ»ú¥³¡¼¥É

¥ª¥é¥¯¥ë¤Î CHAR ¤ª¤è¤Ó VARCHAR2 ¤Ê¤É¤ËʬÎव¤ì¤ëɸ½àʸ»úÎ󷿤ǻÈÍѤµ¤ì¤ëʸ»ú¥³¡¼¥É¤ò Database Characterset ¤È¸Æ¤Ó¡¢ NCHAR ¤ª¤è¤Ó NVARCHAR2 ¤Ê¤É¤Î³Æ¹ñ¸ìʸ»úÎ󷿤ǻÈÍѤµ¤ì¤ëʸ»ú¥³¡¼¥É¤ò National Characterset ¤È¸Æ¤Ö¡£

¥Þ¥ë¥Á¥Ð¥¤¥È¡¦¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¡Ê¥À¥Ö¥ë¥Ð¥¤¥È¡¦¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¡Ë

ÆüËܤò´Þ¤à¥¢¥¸¥¢·÷¤Ê¤É¤Ë¤ª¤¤¤Æ»ÈÍѤµ¤ì¤ë¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤Ï¡¢Ê¸»ú¼ï¤¬Â¿¤¯ 1 ¥Ð¥¤¥È¤Ç¤Ïɽ¸½ÉÔ²Äǽ¤Ê¤¿¤á 2¥Ð¥¤¥È°Ê¾å¤Çɽ¸½¤µ¤ì¤Æ¤¤¤ë¡£
°ìÈÌŪ¤ËÁ´³Ñʸ»ú¡á¥Þ¥ë¥Á¥Ð¥¤¥È¡¦¥­¥ã¥é¥¯¥¿¤ÈÏ䷤Ƥ¤¤ë¤³¤È¤â¿¤¤¤¬¸·Ì©¤Ë¤Ï´Ö°ã¤¤¤È¤Ê¤ë¡£
(¤½¤ì¤Ç¸í²ò¤·¤¿(¤µ¤ì¤¿)¤³¤È¤Ï̵¤¯¡¢ÌäÂê¤Ë¤Ê¤Ã¤¿¤³¤È¤â¤Ê¤¤¤Î¤ÇÂç¾æÉפ«¤È»×¤¦)

°Ê²¼¤ÏÆüËܸì¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤ÎÂåɽŪ¤Ê¤â¤Î
±Ñ¿ô»ú¡¢¥¹¥Ú¡¼¥¹,µ­¹æ(_,$,#,¤Ê¤É)¤Ï 1 ¥Ð¥¤¥È(UTF-16 ¤ÏÎã³°)
Ⱦ³Ñ¥«¥¿¥«¥Ê¡¢¤Ò¤é¤¬¤Ê¡¢´Á»ú¤Ê¤É¤ÎÁ´³Ñʸ»ú¤Ï 2 ¥Ð¥¤¥È°Ê¾å¤Ç¹½À®¤µ¤ì¤ë¡£

Shift_JIS ¤Î¾ì¹ç¡¢È¾³Ñ¥«¥¿¥«¥Ê¤Ï 1 ¥Ð¥¤¥È¤Î¤¿¤á¡¢Â¾¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Î EUC ´Ä¶­¤Ë¥Ç¡¼¥¿¤ò°Ü¿¢¤¹¤ë¾ì¹ç¤Ë¤è¤¯ÌäÂê¤Ë¤Ê¤ë¡£

Database Characterset ¡Êʸ»ú¥³¡¼¥É¡ËNLS ɽµ­
Shift_JIS1¡Á2¥Ð¥¤¥ÈJA16SJISTILDE (9iR2°Ê¹ß)
JA16SJIS
EUC-JP1¡Á2(3) ¥Ð¥¤¥È*1JA16EUCTILDE (9iR2°Ê¹ß)
JA16EUC
UTF-81¡Á3 ¥Ð¥¤¥È*2(or 6 ¥Ð¥¤¥È=3¡ß2¢¨)
¢¨ AL32UTF8 ¤ÇÊä½õʸ»ú »²¾È
1 ¥Ð¥¤¥È:ASCII
2 ¥Ð¥¤¥È:Èó´Á»ú¡¢µ­¹æ¡¢¥®¥ê¥·¥ãʸ»ú¡Ê¦¸¦Á¦Â¡Ä¡Ë¡¢¥í¥·¥¢Ê¸»ú¡Ê§¡§¢¡Ä¡Ë
3 ¥Ð¥¤¥È:Ⱦ³Ñ¥«¥Ê¡¢¤Ò¤é¤¬¤Ê¡¢´Á»ú
AL32UTF8
(UTF8¤Ïµì·Á¼° AL32UTF8¤ò»È¤¦)
Unicode 3.2 Oracle 10g
Unicode 4.0 ¥µ¥Ý¡¼¥È Oracle 10g Release2
Unicode 5.0 ¥µ¥Ý¡¼¥È Oracle 11g
UTF-EBCDIC1¡Á4 ¥Ð¥¤¥ÈUTFE


National Characterset*3NLS ɽµ­
UTF-81¡Á3 ¥Ð¥¤¥È(UTF8 ¤ÏUnicode 3.0¤Þ¤Ç)
ÆüËܸìʸ»ú¤Ï 3 ¥Ð¥¤¥È
ÆÃ¼ìʸ»ú 4 ¥Ð¥¤¥È(Oracle 10g ̤¥µ¥Ý¡¼¥È)
5 ¥Ð¥¤¥È°Ê¾å¤Ï¤ï¤«¤ê¤Þ¤»¤ó¡£µ¬³Ê¾å¤À¤±?
UTF8
UTF-162 ¥Ð¥¤¥È(¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢ÆüËܸì)
4 ¥Ð¥¤¥È(ÆÃ¼ìʸ»ú)
AL16UTF16
Unicode 5.0 ¥µ¥Ý¡¼¥È Oracle 11g


¤½¤ì°Ê³°¤Îʸ»ú¥³¡¼¥ÉÈ÷¹Í
UCS-22 ¥Ð¥¤¥È¥Þ¥ë¥Á¥Ð¥¤¥È¡¦¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤Î¾ì¹ç¤Ë CLOB ¤¬¥Ç¡¼¥¿³ÊǼ¤Ë»ÈÍѤ¹¤ë¥­¥ã¥é¥¯¥¿¥»¥Ã¥È ¢Í ¥Ç¡¼¥¿·¿¤ÎÆâÉô·Á¼°
Java ¤ä Win NT·Ï¤Î UNICODE
UCS-44 ¥Ð¥¤¥È

AL32UTF8 ¤ÇÊä½õʸ»ú¡Ê4¥Ð¥¤¥È¤Îʸ»ú¡Ë¤Î°·¤¤ (JIS X 0213:2004 / Âè3¡¦4¿å½à´Á»ú)

Windows Vista ¤Ë¤è¤ë JIS X 0213:2004 ¥µ¥Ý¡¼¥È¤Ë¤è¤Ã¤Æ 4 ¥Ð¥¤¥Èʸ»ú¤ÎÌäÂ꤬¸²ºß²½¤¹¤ë²ÄǽÀ­¤â¡Ä

Oracle 10g R1 ¤Ï 3 ¥Ð¥¤¥È¤Þ¤Ç¤Î Unicode 3.2
Oracle 10g R2 ¤«¤é AL32UTF32 ¤È AL16UTF16 ¤Ç Unicode 4.0 ¥µ¥Ý¡¼¥È Oracle 10g Release2
Oracle 11g ¤«¤é AL32UTF32 ¤È AL16UTF16 ¤Ç Unicode 5.0 ¥µ¥Ý¡¼¥È Oracle 11g

¥Þ¥Ë¥å¥¢¥ë¾å¤Îɽµ­¤Ç¤Ï(Oracle 10g R1 °ÊÁ°¤Þ¤Ç¡©¡Ë

UTF8 ¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÊä½õʸ»ú¤¬ÁÞÆþ¤µ¤ì¤Æ¤â¡¢¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î¥Ç¡¼¥¿¤Ï
ÇË»¤·¤Þ¤»¤ó¡£ Êä½õʸ»ú¤Ï 6¥Ð¥¤¥È¤òÀê¤á¤ë 2¤Ä¤ÎÊ̸ĤΥ桼¥¶¡¼ÄêµÁʸ»ú
¤È¤·¤Æ½èÍý¤µ¤ì¤Þ¤¹¡£

¤È½ñ¤«¤ì¤Æ¤¤¤ë¡£¤Ä¤Þ¤ê 4¥Ð¥¤¥Èʸ»ú¤Ï 6¥Ð¥¤¥È¾ÃÈñ¤¹¤ë¤È¤¤¤¦¤³¤È¤Î¤è¤¦¤Ç¤¢¤ë¡£¡Ê¤Ä¤Þ¤ê AL32UTF8 ¤Ë¤Ï Oracle ¤Ë¤è¤ë³ÈÄ¥¤¬»Ü¤µ¤ì¤Æ¤¤¤ë¡£NCHAR ¤Î UTF8 ¤Ï¡©¡©¡©¡Ë
⤷¡¢Ì¤³Îǧ & TTC ¥ì¥¤¥ä¡¢¥ß¥É¥ë¥¦¥§¥¢¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤è¤Ã¤Æ¤ÏͽÁÛ³°¤Îưºî¤Ë¤Ê¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

¥¯¥é¥¤¥¢¥ó¥È¡Ê¸ÜµÒ¡Ë¤¬ Windows Vista »ÈÍѤò²ò¶Ø¤·¤¿¸å¤ËȯÀ¸¤¬Í½ÁÛ¤µ¤ì¤ë¥¨¥é¡¼

Unicode UTF-16

Oracle ¤Ï UTF-16 ¤Î¤¦¤Á¤Ç UTF-16BE ¤Î¤ß¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¡£

Oracle CharactersetStructureWord
(byte)
US7ASCIIASCIIA¦¸¸ì¥¢¡ÊȾ³Ñ¡Ë
41---
UTF8 , AL32UTF8UTF-8A¦¸¸ì¥¢
41CE.A9E8.AA.9EEF.BD.B1
AL16UTF16UTF-16BEA¦¸¸ì¥¢
00.4103.A98A.9EFF.71
(UTF16)*4UTF-16LEA¦¸¸ì¥¢
41.00A9.039E.8A71.FF
-UTF-32BEA¦¸¸ì¥¢
00.00.00.4100.00.03.A900.00.8A.9E00.00.FF.71
UTF-32LEA¦¸¸ì¥¢
41.00.00.00A9.03.00.009E.8A.00.0071.FF.00.00

BE(Big Endian):¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó(¥Ó¥Ã¥¯¥¤¥ó¥Ç¥£¥¢¥ó) ¥Ð¥¤¥È¥ª¡¼¥À
LE(Big Endian):¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó(¥ê¥È¥ë¥¤¥ó¥Ç¥£¥¢¥ó) ¥Ð¥¤¥È¥ª¡¼¥À
¤³¤ÎÍѸì¤ÎÀâÌÀ¤Ë¡¢¤¿¤Þ¡Á¤ËÂç¾®¤Î¥¤¥ó¥Ç¥£¥¢¥ó¤Î̱²°áÁõ¤ò¤Ä¤±¤¿ÁÞ³¨¤¬¤¢¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¤¬
¤¢¤ì¤Ï°ú¤Ã³Ý¤±¤Ç¤¹¡£Endian(¥Õ¥£¥¯¥·¥ç¥ó) ¡â Indian(¥Î¥ó¥Õ¥£¥¯¥·¥ç¥ó) ¤Ç¤¹¡£

Indian ¤Ï ¥¤¥ó¥É¿Í¤È´ª°ã¤¤¤·¤¿¤³¤È¤«¤éÀ¸¤Þ¤ì¤¿¤â¤Î¤Ç¡¢Endian ¤ÏÍñ¤ò¤¢¤¿¤Þ (little) ¤È¤ª¤·¤ê (big) ¤Î¤É¤Á¤é¤«¤é³ä¤ë¤« ¤ÇÁ褤¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿ Big End + ian(¿Í) ¤È Litte End + ian(¿Í) ¤È¤¤¤¦Êª¸ì¤Ë¤Ç¤Æ¤¯¤ë¤Î¿Í¼ï¤Î̾Á°¤Ç CPU ¤Î¼çƳ¸¢Á褤¤Î¤È¤­¤ÎÍͻҤò³ê·Î¤Ë¤¢¤é¤ï¤·¤Æ¤¤¤ë¤â¤Î¤À¤È»×¤¤¤Þ¤¹¡£

Big Endian ¤Ï Motorola ¤ä Sun ÀªÎÏ¤Ç Litte Endian ¤Ï Intel ¤ä Zilog ÀªÎϤǤ¹¡£¤Þ¤ë¤Çº£¤Î¼¡À¤Âå DVD µ¬³Ê¤Î¤è¤¦¤Ê¾õÂÖ¤À¤Ã¤¿¤è¤¦¤Ê¡Ä Z80 ¤Ã¤ÆÃΤäƤ¤¤Þ¤¹¤«?

¥­¥ã¥é¥¯¥¿¥»¥Ã¥È̾¤Î³ÎǧÊýË¡

¸½ºß¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¡¢³Æ¹ñ¸ì¥­¥ã¥é¥¯¥¿¥»¥Ã¥È¤ò³Îǧ¤¹¤ë¤Ë¤Ï ¡Ê¢Í NLS_CHARSET_ID¡¢NLS_CHARSET_NAME ´Ø¿ô¡Ë

SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID('CHAR_CS')),
       NLS_CHARSET_NAME(NLS_CHARSET_ID('NCHAR_CS')) FROM DUAL;

¤Þ¤¿¤Ï

SELECT PARAMETER, VALUE
  FROM NLS_DATABASE_PARAMETERS
 WHERE PARAMETER IN ('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');

¤ò»ÈÍѤ¹¤ë¡£
NLS_CHARACTERSET: ¥Ç¡¼¥¿¥Ù¡¼¥¹¡¦¥­¥ã¥é¥¯¥¿¥»¥Ã¥È
NLS_NCHAR_CHARACTERSET: ³Æ¹ñ¸ì¥­¥ã¥é¥¯¥¿¥»¥Ã¥È

SQL*Plus ¥³¥Þ¥ó¥É ¤Î SHOW ¥³¥Þ¥ó¥É

SQL> SHOW PARAMETER NLS_ 

¤Ç¤Ï»ÈÍѤ·¤Æ¤¤¤ëʸ»ú¥³¡¼¥É¤Î³Îǧ¤Ï¤Ç¤­¤Ê¤¤¡£

»²¹Í¡§ ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Îʸ»ú¥³¡¼¥É¤òÊѹ¹¤¹¤ë



´ØÏ¢»ö¹à

(;ÃÌ) VARCHAR ¤Ï¡¢¤Ê¤ó¤È¸Æ¤Ó¤Þ¤¹¤«?

»ä¤Ï¡¢È¯²»¤Î¤·¤ä¤¹¤µ¤«¤é¡¢¤Ä¤¤¡Ö¥Ð¡¼¥Á¥ã¡¼¡×¤È¸Æ¤ó¤Ç¤¤¤Þ¤¹¡¢Ã¢¤· CHAR ¤Ï¥­¥ã¥é¤È¸Æ¤Ö¡¢Í¥½ÀÉÔÃǤµ¡£
¤½¤·¤Æ¡¢¸Æ¤ÓÊý¤Ë¤¦¤ë¤µ¤¤¿Í¤È»Å»ö¤ò¤¹¤ë¤È¤­¤Ë¤Ï¡¢¡Ö¥Ð¡¼¥­¥ã¥é¡×¤È¸Æ¤Ö¤¯¤é¤¤Å°Ä줷¤ÆÍ¥½ÀÉÔÃǤǤ¹¡£ (^^;

¤³¤Î¡Ö¥Ð¡¼¥Á¥ã¡¼¡×¡¢ÈÆÍѵ¡·Ð¸³¼Ô(COBOL ¤Î¤ß?)¤Ï¡¢¤³¤ì¤òÆÃ¤Ë·ù¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë»×¤¨¤Þ¤¹¡£
Oracle ¤Ë¤Ï VIRTUAL ·¿¤Ï¤Ê¤¤¤Ï¤º*5¤Ç¤¹¤¬ ¡Ö¥Ð¡¼¥Á¥ã¡¼¡×¤Ï VIRTUAL ¤ò¥¤¥á¡¼¥¸¤¹¤ë¤Î¤Ç¡Ö¥Ð¡¼¥­¥ã¥é¡×¤¬Àµ¤·¤¤¤È¤¤¤¦²¦Æ»¤ÇÎÏÀ⤷¤Æ¤¤¤ë¤«¤È»×¤¤¤Þ¤¹¡£

¡Ö¥Ð¡¼¥Á¥ã¡¼¡×¤òÈÝÄꤹ¤ë»ñÎÁ¤Ï¤¢¤Ã¤Æ¤â¡¢ÀµÅö²½¤¹¤ë»ñÎÁ¤¬Â¸ºß¤¹¤ë¤È¤Ï»×¤¨¤Þ¤»¤ó¤¬¡¢ ¤È¤ê¤¢¤¨¤º Oracle ´ØÏ¢¤Î·Ç¼¨ÈĤȥª¥Õ¥£¥·¥ã¥ë¥µ¥¤¥È¤Ç¤Ï¡¢´ØÏ¢¤¹¤ë¸ø¼°¤Ê»ñÎÁ¤Ï¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡Ä¤ª¤·¤Þ¤¤¡£

カスタム検索
¥¹¥Ý¥ó¥µ¡¼¥É ¥ê¥ó¥¯
ÆüËÜ¥ª¥é¥¯¥ë
¢£ ÆüËÜ¥ª¥é¥¯¥ë ³ô¼°²ñ¼Ò
¢£ ¥ª¥é¥¯¥ë¥Þ¥¹¥¿¡¼»ñ³Ê ¡Ê¥ª¥é¥¯¥ë¥Þ¥¹¥¿¡¼¤È¤Ï¡Ë
¢£ Oracle Direct Web ¥»¥ß¥Ê¡¼

*1 3 ¥Ð¥¤¥È¤Ë¤Ê¤ë¤Î¤Ï JIS Êä½õ´Á»ú JIS X 0212 Î㤨¤Ð°ìÈÖ´Êñ¤½¤¦¤À¤Ã¤¿¡Öú­¡×¤È¤¤¤¦´Á»ú¡¢¡Ö°¿¡×¤È¤âÈù̯¤Ë°ã¤¦¡£°ÕÌ£¤Ï¤ï¤«¤ê¤Þ¤»¤ó¡£Copyright ¤Î © ¤Îµ­¹æ¤â´Þ¤Þ¤ì¤Æ¤¤¤ë¡£
*2 Oracle 10g R1 ¤Ï 3 ¥Ð¥¤¥È¤Þ¤Ç¤Î Unicode 3.2¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ 10g R2 ¤Ç¤Ï Unicode 4.0¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ç¤¢¤ë¡£¸½ºß¤Îµ¬³Ê¤Ï Unicode 5.x
*3 NCHAR, NVARCHAR2¤Ç»ÈÍÑ¡¢¥Ç¥Õ¥©¥ë¥È¤Ï AL16UTF16
*4 SQL*Loader ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Ç¤Ï UTF-16LE ¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤ò¥¤¥ó¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤È¤·¤Æ´ÖÀÜŪ¤Ë¼è¤ê°·¤¦¤³¤È¤Ï²Äǽ¡¢Ã¢¤·¡¢¤½¤Î¤È¤­¤Ï UTF-16 ¤Î¥­¥ã¥é¥¯¥¿¥»¥Ã¥È̾¤ò»ÈÍѤ¹¤ë
*5 ½ñ¼°¥â¥Ç¥ë(¿ôÃÍ) V ¥Õ¥©¡¼¥Þ¥Ã¥È¤¬¤¢¤ë°Ì¤À¤È»×¤¤¤Þ¤¹¡£