| PostgreSQL 8.1.9ʸ½ñ | ||||
|---|---|---|---|---|
| Á°¤Î¥Ú¡¼¥¸ | ´¬Ìᤷ | ÁáÁ÷¤ê | ¼¡¤Î¥Ú¡¼¥¸ | |
PostgreSQL¤Ë¤Ï¥æ¡¼¥¶¤¬»ÈÍѲÄǽ¤ÊËÉ٤ʥǡ¼¥¿·¿¤¬»Ï¤á¤«¤éÈ÷¤ï¤Ã¤Æ¤¤¤Þ¤¹¡£ CREATE TYPE¥³¥Þ¥ó¥É¤ÇPostgreSQL¤ËÂФ·¿·¤·¤¤¥Ç¡¼¥¿·¿¤òÄɲäǤ¤Þ¤¹¡£
ɽ8-1¤ËÁȤ߹þ¤ß¤ÎÈÆÍѥǡ¼¥¿·¿¤òÁ´¤Æ¼¨¤·¤Þ¤¹¡£ "ÊÌ̾"Íó¤ËÎóµó¤µ¤ì¤¿ÂåÂØÌ¾¾Î¤Î¤Û¤È¤ó¤É¤Ï¡¢Îò»ËŪ¤ÊÍýͳ¤Ë¤è¤êPostgreSQL¤ÎÆâÉô¤Ç»ÈÍѤµ¤ì¤Æ¤¤¤ë̾Á°¤Ç¤¹¡£ ¾¤Ë¤â¡¢¤³¤³¤ËµºÜ¤·¤Æ¤¤¤Ê¤¤¡¢ÆâÉô¤Ç»ÈÍѤµ¤ì¤ë¥Ç¡¼¥¿·¿¡¢ºï½üͽÄê¤Î¥Ç¡¼¥¿·¿¤â¤¢¤ê¤Þ¤¹¡£
ɽ 8-1. ¥Ç¡¼¥¿·¿
| ̾¾Î | ÊÌ̾ | ÀâÌÀ |
|---|---|---|
| bigint | int8 | 8¥Ð¥¤¥ÈÉ乿ÉÕ¤À°¿ô |
| bigserial | serial8 | ¼«Æ°Áýʬ8¥Ð¥¤¥ÈÀ°¿ô |
| bit [ (n) ] | ¸ÇÄêĹ¥Ó¥Ã¥ÈÎó | |
| bit varying [ (n) ] | varbit | ²ÄÊÑĹ¥Ó¥Ã¥ÈÎó |
| boolean | bool | ÏÀÍý¡Ê¥Ö¡¼¥ë¡ËÃ͡ʿ¿/µ¶¡Ë |
| box | Ê¿Ì̾å¤Î¶ë·Á | |
| bytea | ¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¡Ê"¥Ð¥¤¥È¤ÎÇÛÎó¡Êbyte array¡Ë"¡Ë | |
| character varying [ (n) ] | varchar [ (n) ] | ²ÄÊÑĹʸ»úÎó |
| character [ (n) ] | char [ (n) ] | ¸ÇÄêĹʸ»úÎó |
| cidr | IPv4¤â¤·¤¯¤ÏIPv6¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹ | |
| circle | Ê¿Ì̾å¤Î±ß | |
| date | Îñ¤ÎÆüÉÕ¡Êǯ·îÆü¡Ë | |
| double precision | float8 | ÇÜÀºÅÙÉâÆ°¾®¿ôÅÀ |
| inet | IPv4¤â¤·¤¯¤ÏIPv6¥Û¥¹¥È¥¢¥É¥ì¥¹ | |
| integer | int, int4 | 4¥Ð¥¤¥ÈÉ乿ÉÕ¤À°¿ô |
| interval [ (p) ] | »þ´Ö´Ö³Ö | |
| line | Ê¿Ì̾å¤Î̵¸ÂľÀþ | |
| lseg | Ê¿Ì̾å¤ÎÀþʬ | |
| macaddr | MAC¥¢¥É¥ì¥¹ | |
| money | ²ßʾ¶â³Û | |
| numeric [ (p, s) ] | decimal [ (p, s) ] | ÀºÅÙ¤ÎÁªÂò²Äǽ¤Ê¹âÀºÅÙ¿ôÃÍ |
| path | Ê¿Ì̾å¤Î´ö²¿³ØÅª·ÐÏ© | |
| point | Ê¿Ì̾å¤Î´ö²¿³ØÅªÅÀ | |
| polygon | Ê¿Ì̾å¤ÎÊĤ¸¤¿´ö²¿³ØÅª·ÐÏ© | |
| real | float4 | ñÀºÅÙÉâÆ°¾®¿ôÅÀ |
| smallint | int2 | 2¥Ð¥¤¥ÈÉ乿ÉÕ¤À°¿ô |
| serial | serial4 | ¼«Æ°Áýʬ4¥Ð¥¤¥ÈÀ°¿ô |
| text | ²ÄÊÑĹʸ»úÎó | |
| time [ (p) ] [ without time zone ] | »þ¹ï | |
| time [ (p) ] with time zone | timetz | »þ´ÖÂÓÉÕ¤»þ¹ï |
| timestamp [ (p) ] [ without time zone ] | ÆüÉդȻþ¹ï | |
| timestamp [ (p) ] with time zone | timestamptz | »þ´ÖÂÓÉÕ¤ÆüÉդȻþ¹ï |
¸ß´¹À: ¼¡¤Ëµó¤²¤ë¥Ç¡¼¥¿·¿¡Ê¤¢¤ë¤¤¤Ï¤½¤ÎÄÖ¤êÊý¡Ë¤ÏSQL¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ bit¡¢bit varying¡¢boolean¡¢char¡¢ character varying¡¢character¡¢varchar¡¢ date¡¢double precision¡¢integer¡¢ interval¡¢numeric¡¢decimal¡¢real¡¢ smallint¡¢time¡Ê»þ´ÖÂÓÉÕ¤¡¢¤Ê¤·¤ÎξÊý¡Ë¡¢ timestamp¡Ê»þ´ÖÂÓÉÕ¤¡¢¤Ê¤·¤ÎξÊý¡Ë¡£
¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿·¿¤Ï¤½¤Î¥Ç¡¼¥¿·¿¤ÎÆþ½ÐÎÏ´Ø¿ô¤Ç·èÄꤵ¤ì¤ë³°Éôɽ¸½¤òÊÝͤ·¤Æ¤¤¤Þ¤¹¡£ ÁȤ߹þ¤ß¥Ç¡¼¥¿·¿¤Î¿¤¯¤Ë¤Ï¡¢¤Ï¤Ã¤¤ê¤È¤·¤¿³°Éô½ñ¼°¤¬¤¢¤ê¤Þ¤¹¡£ ¤È¤Ï¸À¤Ã¤Æ¤â¡¢·ÐÏ©¤Î¤è¤¦¤ÊPostgreSQL¤ËÆÃͤʷ¿¤ä¡¢¤¢¤ë¤¤¤Ï¡¢ÆüÉÕ¤ä»þ¹ï¥Ç¡¼¥¿·¿¤Î¤è¤¦¤Ë½ñ¼°¤òÊ£¿ôÁªÂò¤Ç¤¤ë·¿¤¬Â¿¤¯¤¢¤ê¤Þ¤¹¡£ °ìÉô¤ÎÆþ½ÐÎÏ´Ø¿ô¤ÏžÃÖ¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤»¤ó¡£ ¤Ä¤Þ¤ê¡¢½ÐÎÏ´Ø¿ô¤Ë¤è¤ë·ë²Ì¤ÏºÇ½é¤ÎÆþÎϤÈÈæ³Ó¤·¤¿¾ì¹çÀºÅÙ¤ò¼º¤¦²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£
¿ôÃͥǡ¼¥¿·¿¤Ë¤Ï2¡¢4¡¢8¥Ð¥¤¥ÈÀ°¿ô¤È¡¢4¡¢8¥Ð¥¤¥ÈÉâÆ°¾®¿ôÅÀ¤ª¤è¤ÓÀºÅÙÀßÄ꤬²Äǽ¤Ê¿ô¤¬¤¢¤ê¤Þ¤¹¡£ ɽ8-2¤Ë»ÈÍѲÄǽ¤Ê·¿¤òÎóµó¤·¤Þ¤¹¡£
ɽ 8-2. ¿ôÃͥǡ¼¥¿·¿
| ·¿Ì¾ | ³ÊǼ¥µ¥¤¥º | ÀâÌÀ | ÈÏ°Ï |
|---|---|---|---|
| smallint | 2¥Ð¥¤¥È | ¶¹ÈϰϤÎÀ°¿ô | -32768¤«¤é+32767 |
| integer | 4¥Ð¥¤¥È | Ä̾ï»ÈÍѤ¹¤ëÀ°¿ô | -2147483648¤«¤é+2147483647 |
| bigint | 8¥Ð¥¤¥È | ¹ÈϰÏÀ°¿ô | -9223372036854775808¤«¤é9223372036854775807 |
| decimal | ²ÄÊÑĹ | ¥æ¡¼¥¶»ØÄêÀºÅÙ¡¢Àµ³Î | ºÇÂç1000·å[ÌõÃí:¸¶Ê¸¤Ç¤Ïno limit] |
| numeric | ²ÄÊÑĹ | ¥æ¡¼¥¶»ØÄêÀºÅÙ¡¢Àµ³Î | ºÇÂç1000·å[ÌõÃí:¸¶Ê¸¤Ç¤Ïno limit] |
| real | 4¥Ð¥¤¥È | ²ÄÊÑÀºÅÙ¡¢ÉÔÀµ³Î | 6·åÀºÅÙ |
| double precision | 8¥Ð¥¤¥È | ²ÄÊÑÀºÅÙ¡¢ÉÔÀµ³Î | 15·åÀºÅÙ |
| serial | 4¥Ð¥¤¥È | ¼«Æ°ÁýʬÀ°¿ô | 1¤«¤é2147483647 |
| bigserial | 8¥Ð¥¤¥È | ¹Èϰϼ«Æ°ÁýʬÀ°¿ô | 1¤«¤é9223372036854775807 |
¿ôÃͥǡ¼¥¿·¿¤ËÂФ¹¤ëÄê¿ô¤Î¹½Ê¸¤Ï¹à4.1.2¤ÇÀâÌÀ¤·¤Æ¤¤¤Þ¤¹¡£ ¿ôÃͥǡ¼¥¿·¿¤Ë¤ÏÂбþ¤¹¤ë»»½Ñ±é»»»Ò¤È´Ø¿ô¤Î°ì¼°¤¬Â·¤Ã¤Æ¤¤¤Þ¤¹¡£ ¾ÜºÙ¤ÏÂè9¾Ï¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ ¼¡Àá¤Ç¥Ç¡¼¥¿·¿¤Ë¤Ä¤¤¤Æ¾Ü¤·¤¯ÀâÌÀ¤·¤Þ¤¹¡£
smallint¡¢integer¡¢bigint¤Ï³Æ¼ïÈϰϤÎÀ°¿ô¡¢¤Ä¤Þ¤ê¾®¿ôÅÀ°Ê²¼¤Îü¿ô¤¬¤Ê¤¤¿ô¤òÊÝ»ý¤·¤Þ¤¹¡£ µöÍÆÈϰϤ«¤é³°¤ì¤¿ÃͤòÊݸ¤·¤è¤¦¤È¤¹¤ë¤È¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£
integer·¿¤Ï¿ôÃͤÎÈϰϡ¢³ÊǼ¥µ¥¤¥º¤ª¤è¤ÓÀǽ¤Ë¤ª¤¤¤ÆºÇ¤âÄà¹ç¤¤¤¬¼è¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢Ä̾ï»ÈÍѤµ¤ì¤Þ¤¹¡£ smallint·¿¤Ï°ìÈÌŪ¤Ë¥Ç¥£¥¹¥¯ÍÆÎ̤ËÀ©¸Â¤¬ÉÕ¤¤¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ß»ÈÍѤ·¤Þ¤¹¡£ bigint·¿¤Ïinteger¤ÎµöÍÆÈϰϤǤϽ½Ê¬¤Ç¤Ï¤Ê¤¤¾ì¹ç¤Ë¤Î¤ß»ÈÍѤ¹¤Ù¤¤Ç¤¹¡£ integer¥Ç¡¼¥¿·¿¤ÎÊý¤¬¤º¤Ã¤È®¤¤¤«¤é¤Ç¤¹¡£
8¥Ð¥¤¥ÈÀ°¿ô¤ò¥³¥ó¥Ñ¥¤¥é¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ë°Í¸¤·¤Þ¤¹¤Î¤Ç¡¢bigint·¿¤ÏÁ´¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÇÀµ¾ï¤Ëµ¡Ç½¤¹¤ë¤È¤Ï¸Â¤ê¤Þ¤»¤ó¡£ ¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¥Þ¥·¥ó¾å¤Ç¤Ïbigint¤Ïinteger¤ÈƱ¤¸¤è¤¦¤Ë¿¶Éñ¤¤¤Þ¤¹¡Ê¤·¤«¤·¡¢Îΰè¤Ï8¥Ð¥¤¥È¤Þ¤ÇɬÍפǤ¹¡Ë¡£ ¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤Î¤è¤¦¤Ê¤³¤È¤¬¸½¼Â¤ÎÌäÂê¤òµ¯¤³¤¹¤è¤¦¤Ê¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤¬¤¢¤ë¤«¤É¤¦¤«¤ï¤«¤ê¤Þ¤»¤ó¡£
SQL¤Ç¤ÏÀ°¿ô¤Î·¿¤È¤·¤Æinteger¡Ê¤Þ¤¿¤Ïint¡Ë¤Èsmallint¤Î¤ß¤òµ¬Äꤷ¤Æ¤¤¤Þ¤¹¡£ bigint¤Èint2¡¢int4¡¢¤ª¤è¤Óint8¤Ï³ÈÄ¥¤Ç¤¹¤¬¡¢Â¾¤ÎÍÍ¡¹¤ÊSQL¥Ç¡¼¥¿¥Ù¡¼¥¹¥·¥¹¥Æ¥à¤Ç¤â»È¤ï¤ì¤Æ¤¤¤Þ¤¹¡£
numeric·¿¤Ï¡¢ºÇÂç1000·å¤ÎÀºÅ٤ǿôÃͤò³ÊǼ¤Ç¤¡¢Àµ³Î¤Ê·×»»¤ò¹Ô¤¨¤Þ¤¹¡£ Ä̲߶â³Û¤ä¤½¤Î¾Àµ³ÎÀ¤¬µá¤á¤é¤ì¤ë¿ôÎ̤òÊݸ¤¹¤ë»þ¤ÏÆÃ¤Ë¡¢¤³¤Î·¿¤ò¿ä¾©¤·¤Þ¤¹¡£ ¤È¤Ï¸À¤Ã¤Æ¤â¡¢numeric¤ÎÃͤËÂФ¹¤ë»»½Ñ±é»»¤Îưºî¤ÏÀ°¿ô¤ä¡¢¼¡Àá¤ÇÀâÌÀ¤¹¤ëÉâÆ°¾®¿ôÅÀ¥Ç¡¼¥¿·¿¤ËÈæ³Ó¤·Èó¾ï¤ËÃÙ¤¯¤Ê¤ê¤Þ¤¹¡£
¤³¤Î¸å¤ÎÀâÌÀ¤Ç¤Ï¡¢¼¡¤ÎÍѸì¤ò»ÈÍѤ·¤Þ¤¹¡£ numeric¤Î°Ì¼è¤ê¤È¤Ï¡¢¾®¿ôÅÀ¤Î±¦Â¦¤Î¾®¿ôÅÀ°Ê²¼¤Î·å¿ô¤ò¤¤¤¤¤Þ¤¹¡£ numeric¤ÎÀºÅ٤ȤϿô»úÁ´ÂΤÎ͸ú·å¿ô¤Ç¤¹¡£ ¤¹¤Ê¤ï¤Á¡¢¾®¿ôÅÀ¤ò¤Ï¤µ¤ó¤Ç¤¤¤ëξ¦¤Î·å¿ô¤Î¹ç·×¤Ç¤¹¡£ ¤½¤Î¤¿¤á¡¢23.5141¤È¤¤¤¦¿ôÃͤÎÀºÅÙ¤Ï6¤Ç°Ì¼è¤ê¤Ï4¤È¤Ê¤ê¤Þ¤¹¡£ À°¿ô¤Î°Ì¼è¤ê¤Ï¡¢¥¼¥í¤Ç¤¢¤ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
numericÎó¤Î¿ôÃͤκÇÂçÀºÅ٤ȺÇÂç°Ì¼è¤ê¤Ï¤È¤â¤ËÀßÄꤹ¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ Îó¤Î¥Ç¡¼¥¿·¿¤ònumeric¤ÈÀë¸À¤¹¤ë¤Ë¤Ï¼¡¤Î¹½Ê¸¤ò»È¤¤¤Þ¤¹¡£
NUMERIC(precision, scale)
ÀºÅÙ¤ÏÀµ¿ô¡¢°Ì¼è¤ê¤Ï0¤â¤·¤¯¤ÏÀµ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ¾¤Ë
NUMERIC(precision)
¤Ï°Ì¼è¤ê¤¬0¤Ç¤¢¤ë¤³¤È¤òÁªÂò¤·¤Þ¤¹¡£
NUMERIC
ÀºÅÙ¤Þ¤¿¤Ï°Ì¼è¤ê¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¡¢¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¸Â³¦¤ÎÀºÅ٤ޤǡ¢¤¤¤«¤Ê¤ëÀºÅÙ¤¢¤ë¤¤¤Ï°Ì¼è¤ê¤ÎÃͤâ³ÊǼ¤Ç¤¤ëÎ󤬺î¤é¤ì¤Þ¤¹¡£ ¤³¤ÎÎà¤ÎÎó¤Ï¤¤¤«¤Ê¤ëÆÃÄê¤Î°Ì¼è¤ê¤ËÂФ·¤Æ¤âÆþÎÏÃͤò¶¯Íפ·¤Þ¤»¤ó¤¬¡¢Àë¸À¤µ¤ì¤¿°Ì¼è¤ê¤ò»ý¤ÄnumericÎó¤ÏÆþÎÏÃͤˤ½¤Î°Ì¼è¤ê¤ò¶¯Íפ·¤Þ¤¹ ¡Êɸ½àSQL¤Ï¥Ç¥Õ¥©¥ë¥È¤È¤·¤Æ°Ì¼è¤ê0¤òÍ׵ᤷ¤Æ¤¤¤Æ¡¢À°¿ô¤ËÂФ¹¤ë¸·Ì©À¤ò¶¯À©¤·¤Æ¤¤¤Þ¤¹¡£ ¤·¤«¤·¡¢¤³¤ÎÊýË¡¤Ï¤¢¤Þ¤êÌò¤ËΩ¤¿¤Ê¤¤¤È»×¤ï¤ì¤Þ¤¹¡£ ¤â¤·°Ü¿¢À¤ò¿´ÇÛ¤¹¤ë¤Ê¤é¡¢¾ï¤ËÀºÅ٤Ȱ̼è¤ê¤òÌÀ¼¨Åª¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡Ë¡£
³ÊǼ¤µ¤ì¤ëÃͤΰ̼è¤ê¤¬Àë¸À¤µ¤ì¤¿Îó¤Î°Ì¼è¤ê¤è¤êÂ礤«¤Ã¤¿¾ì¹ç¡¢¥·¥¹¥Æ¥à¤Ï»ØÄꤵ¤ì¤¿¾®¿ôÉô¤Î·å¤Þ¤ÇÃͤò´Ý¤á¤Þ¤¹¡£ ¤½¤·¤Æ¡¢¾®¿ôÅÀ¤Îº¸Â¦¤Î·å¿ô¤¬¡¢Àë¸À¤µ¤ì¤¿ÀºÅÙ¤«¤éÀë¸À¤µ¤ì¤¿°Ì¼è¤ê¤òº¹¤·°ú¤¤¤¿¿ô¤òͤ¨¤ë¾ì¹ç¤Ë¥¨¥é¡¼¤È¤Ê¤ê¤Þ¤¹¡£
¿ôÃͤÏʪÍýŪ¤ËÀèÆ¬¤äËöÈø¤Ë0¤òÉÕÍ¿¤µ¤ì¤ë¤³¤È¤Ê¤¯³ÊǼ¤µ¤ì¤Þ¤¹¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢Îó¤ÎÀë¸À¤µ¤ì¤¿ÀºÅ٤Ȱ̼è¤ê¤ÏºÇÂç¤Ç¤¢¤ê¡¢¸ÇÄêŪ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Æ¤¤¤Þ¤»¤ó ¡Ê¤³¤Î°ÕÌ£¤Ç¤Ïnumeric¤Ïchar(n)¤è¤ê¤âvarchar(n)¤Ë»÷¤Æ¤¤¤Þ¤¹¡Ë¡£¼ÂºÝ¤Î³ÊǼ¤ËɬÍפÏÍÆÎ̤ϡ¢10¿Ê¿ô4·å¤Î¤½¤ì¤¾¤ì¤Î¥°¥ë¡¼¥×¤ËÂФ·¤Æ2¥Ð¥¤¥È¤È¡¢8¥Ð¥¤¥È¤Î¥ª¡¼¥Ð¥Ø¥Ã¥É¤Ç¤¹¡£
Ä̾ï¤Î¿ôÃͤ˲䨡¢numeric·¿¤Ï¡¢"Èó¿ôÃÍ"¤ò°ÕÌ£¤¹¤ëNaN¤È¤¤¤¦ÆÃÊ̤ÊÃͤò¼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ NaN¤ËÂФ¹¤ëÁàºî¤ÏÁ´¤Æ¡¢Ê̤ÎNaN¤òÀ¸À®¤·¤Þ¤¹¡£ ¤³¤ÎÃͤòSQL¥³¥Þ¥ó¥É¤ÎÄê¿ô¤È¤·¤Æµ½Ò¤¹¤ë¾ì¹ç¤Ï¡¢Î㤨¤ÐUPDATE table SET x = 'NaN'¤Î¤è¤¦¤Ë¡¢°úÍÑÉä¤Ç³ç¤é¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ ÆþÎϤκݤϡ¢NaN¤È¤¤¤¦Ê¸»úÎó¤ÏÂçʸ»ú¾®Ê¸»ú¤Î¶èÊ̤ʤ¯Ç§¼±¤µ¤ì¤Þ¤¹¡£
decimal¤Ènumeric·¿¤ÏÅù²Á¤Ç¤¹¡£ 2¤Ä¤Î¥Ç¡¼¥¿·¿¤Ï¤È¤â¤Ëɸ½àSQL¤Ë½¾¤Ã¤Æ¤¤¤Þ¤¹¡£
real¤Èdouble precision¤ÏÉÔÀµ³Î¤Ê²ÄÊÑÀºÅ٤οôÃͥǡ¼¥¿·¿¤Ç¤¹¡£ ¼ÂºÝ¤Ë¤Ï¤³¤ì¤é¤Î¥Ç¡¼¥¿·¿¤Ï¡¢»ÈÍѤ·¤Æ¤¤¤ë¥×¥í¥»¥Ã¥µ¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤ª¤è¤Ó¥³¥ó¥Ñ¥¤¥é¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ì¤Ð¡¢Ä̾ï¤Ï¡Ê¤½¤ì¤¾¤ìñÀºÅÙ¤ª¤è¤ÓÇÜÀºÅ٤Ρ˥Х¤¥Ê¥êÉâÆ°¾®¿ôÅÀ±é»»ÍѤÎIEEEµ¬³Ê754¤Î¼ÂÁõ¤Ç¤¹¡£
ÉÔÀµ³Î¤È¤¤¤¦¤Î¤Ï¡¢¤¢¤ëÃͤϤ½¤Î¤Þ¤Þ¤ÇÆâÉô·Á¼°¤ËÊÑ´¹¤µ¤ì¤º¤Ë¶á»÷ÃͤȤ·¤ÆÊݸ¤µ¤ì¤ë¤È¤¤¤¦¤³¤È¤Ç¤¹¡£ ¤Ç¤¹¤«¤é¡¢Êݸ¤·¤è¤¦¤È¤¹¤ëÃͤÈÊݸ¤µ¤ì¤¿ÃͤòÌᤷ¤ÆÉ½¼¨¤·¤¿¾ì¹ç¤Ë¿¾¯¤Îº¹°Û¤¬Ç§¤á¤é¤ì¤Þ¤¹¡£ ¤³¤ì¤é¤Î¥¨¥é¡¼¤ò´ÉÍý¤··×»»¤Ë¤è¤Ã¤ÆÊäÀµ¤ò¤É¤¦¤¹¤ë¤«¤Ï¡¢¿ô³Ø¤Î·ÏÅýÁ´Éô¤È¥³¥ó¥Ô¥å¡¼¥¿²Ê³Ø¤Ë´Ø¤ï¤ë¤³¤È¤Ç¡¢°Ê²¼¤ÎÅÀ¤ò½ü¤¤³¤ì°Ê¾å¤Î¤³¤È¤Ï¿¨¤ì¤Þ¤»¤ó¡£
¡Ê¶âÁ¬¶â³Û¤Ê¤É¡ËÀµ³Î¤ÊµÏ¿¤È·×»»¤¬É¬Íפʻþ¤ÏÂå¤ï¤ê¤Ënumeric¤ò»ÈÍѤ·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤é¤Î¥Ç¡¼¥¿·¿¤Ç²¿¤«½ÅÍפʷï¤ËÂФ·Ê£»¨¤Ê·×»»¤òɬÍפȤ¹¤ë»þ¡¢ÆÃ¤Ë¡Ê̵¸ÂÂç¤ä¥¢¥ó¥À¡¼¥Õ¥í¡¼¤Î¤è¤¦¤Ê¡Ë¶³¦Àþ¤Ë¤ª¤±¤ë¤¢¤ë¼ï¤Î¿¶Éñ¤¤¤Ë¤Ä¤¤¤Æ¿®Íê¤òÃÖ¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¼ÂÁõ¤òÃí°Õ¿¼¤¯¸¡¾Ú¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
2¤Ä¤ÎÉâÆ°¾®¿ôÅÀÃͤ¬Åù²Á¤Ç¤¢¤ë¤Î¤«¤É¤¦¤«¤ÎÈæ³Ó¤ÏͽÁÛÄ̤ê¤Ë¹Ô¤¯»þ¤â¤¢¤ì¤Ð¹Ô¤«¤Ê¤¤»þ¤â¤¢¤ê¤Þ¤¹¡£
¤Û¤È¤ó¤É¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ïreal¤ÏºÇÄã6·å¤ÎÀºÅÙ¤ò»ý¤Ã¤¿¾¯¤Ê¤¯¤È¤â-1E+37¤È+1E+37¤ÎÈϰϤǤ¹¡£ double precision¤ÏÄ̾ïºÇÄã15·å¤ÎÀºÅ٤Ǥª¤è¤½-1E+308¤È+1E+308¤ÎÈϰϤǤ¹¡£ Â礲᤮¤¿¤ê¾®¤µ²á¤®¤ëÃͤϥ¨¥é¡¼¤Î¸¶°ø¤È¤Ê¤ê¤Þ¤¹¡£ ÆþÎÏÃͤÎÀºÅÙ¤¬¹â²á¤®¤ë¾ì¹ç¤Ï´Ý¤á¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£ ¥¼¥í¤Ë¸Â¤ê¤Ê¤¯¶á¤¤Ãͤǡ¢¤·¤«¤â¥¼¥í¤È¤Ï¶èÊ̤µ¤ì¤Æ¤¤¤ë¤è¤¦¤Ë¤ß¤Ê¤µ¤ì¤Ê¤¤¿ôÃͤϥ¢¥ó¥À¡¼¥Õ¥í¡¼¥¨¥é¡¼¤ò°ú¤µ¯¤³¤·¤Þ¤¹¡£
Ä̾ï¤Î¿ôÃͤ˲䨡¢ÉâÆ°¾®¿ôÅÀ·¿¤Ç¤Ï°Ê²¼¤ÎÆÃ¼ì¤ÊÃͤò¼è¤ê¤Þ¤¹¡£
Infinity
-Infinity
NaN
¤Þ¤¿¡¢PostgreSQL¤Ç¤ÏÉÔÀµ³Î¤Ê¿ôÃÍ·¿¤òµ¬Äꤹ¤ëɸ½àSQL¤Îfloat¤Èfloat(p)¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ ¤³¤³¤Ç¡¢p¤Ï2¿Ê¿ô¤Î·å¿ô¤ÇºÇÄã¼õ¤±ÉÕ¤±¤ëÀºÅÙ¤ò»ØÄꤷ¤Þ¤¹¡£ PostgreSQL¤Ïfloat(1)¤«¤éfloat(24)¤òreal¤òÁªÂò¤¹¤ë¤â¤Î¤È¤·¤Æ¼õ¤±ÉÕ¤±¡¢float(25)¤«¤éfloat(53)¤òdouble precision¤òÁªÂò¤¹¤ë¤â¤Î¤È¤·¤Æ¼õ¤±ÉÕ¤±¤Þ¤¹¡£ µöÍÆÈϰϳ°¤Îp¤ÎÃͤϥ¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤¹¡£ ÀºÅÙ»ØÄê¤Î¤Ê¤¤float¤Ïdouble precision¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤¹¡£
Ãí°Õ: 7.4¤è¤êÁ°¤ÎPostgreSQL¤Ç¤Ï¡¢float(p)¤ÎÀºÅÙ¤Ï10¿Ê¿ô·å¿ô¤È¤·¤Æ²ò¼á¤µ¤ì¤Þ¤·¤¿¡£ ¤³¤ì¤Ï¡¢2¿Ê¿ô·å¿ô¤ÎÀºÅÙ¤òµ¬Äꤹ¤ëɸ½àSQL¤Ë°ìÃפ¹¤ë¤è¤¦¤ËÊѹ¹¤µ¤ì¤¿¤â¤Î¤Ç¤¹¡£ real¤Èdouble precision¤Î²¾¿ô¤¬¤½¤ì¤¾¤ì24¥Ó¥Ã¥È¤È53¥Ó¥Ã¥È¤Ç¤¢¤ë¤È¤¤¤¦Á°Äó¤Ï¡¢IEEEɸ½àÉâÆ°¾®¿ôÅÀ¤Î¼ÂÁõ¤Ç¤ÏÀµ¤·¤¤¤â¤Î¤Ç¤¹¡£ ÈóIEEE¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Ç¤Ï¡¢°ìÉô̵¸ú¤Ë¤Ê¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¤¬¡¢Ã±½ã²½¤Î¤¿¤á¤ËÁ´¤Æ¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤Çp¤ÎÈÏ°Ï¤ÏÆ±°ì¤Ç¤¹¡£
serial¤ª¤è¤Óbigserial¥Ç¡¼¥¿·¿¤ÏÀµ³Î¤Ë¤Ï¥Ç¡¼¥¿·¿¤Ç¤Ï¤Ê¤¯¡¢¥Æ¡¼¥Ö¥ë¤ÎÎó¤Ë°ì°Õ¤Î¼±Ê̻ҤòÀßÄꤹ¤ë´ÊÊØ¤ÊɽµË¡¤Ç¤¹ ¡Ê¾¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¥µ¥Ý¡¼¥È¤µ¤ì¤ëAUTO_INCREMENT¥×¥í¥Ñ¥Æ¥£¤Ë»÷¤Æ¤¤¤Þ¤¹¡Ë¡£ ¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¡¢
CREATE TABLE tablename (
colname SERIAL
);¤Ï°Ê²¼¤ò»ØÄꤹ¤ë¤³¤È¤ÈƱ¤¸¤Ç¤¹¡£
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
colname integer DEFAULT nextval('tablename_colname_seq') NOT NULL
);¤³¤Î¤è¤¦¤ËÀ°¿ôÎó¤òºîÀ®¤·¡¢¤½¤ÎÎó¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤ¬Ï¢ÈÖ¥¸¥§¥Í¥ì¡¼¥¿¤«¤é³ä¤êÅö¤Æ¤é¤ì¤ë¤è¤¦¤Ë¤·¤Þ¤·¤¿¡£ ¤Þ¤¿¡¢NOT NULLÀ©Ìó¤òŬÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢NULLÃͤ¬ÌÀ¼¨Åª¤ËÁÞÆþ¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¤·¤Þ¤¹¡£ ¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¤Ï¡¢½ÅÊ£¤¹¤ëÃͤò´Ö°ã¤Ã¤ÆÁÞÆþ¤·¤Ê¤¤¤è¤¦¤Ë¡¢UNIQUEÀ©Ìó¤Þ¤¿¤ÏPRIMARY KEYÀ©Ìó¤âÄɲ乤뤳¤È¤¬¿ä¾©¤µ¤ì¤Þ¤¹¤¬¡¢¤³¤ì¤Ï¼«Æ°Åª¤Ë¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£
Ãí°Õ: PostgreSQL 7.3¤è¤êÁ°¤Ç¤Ï¡¢serial¤ÏUNIQUE¤ò°ÕÌ£¤·¤Æ¤¤¤Þ¤·¤¿¡£ ¸½ºß¤Ç¤Ï¼«Æ°Åª¤Ë¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£ Ï¢ÈÖ¤ÎÎó¤Ë°ì°ÕÀÀ©Ìó¤â¤·¤¯¤Ï¥×¥é¥¤¥Þ¥ê¥¡¼¤òÉÕÍ¿¤·¤¿¤¤¾ì¹ç¤Ï¡¢Â¾¤Î¥Ç¡¼¥¿·¿Æ±ÍÍ»ØÄꤷ¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£
serialÎó¤Ë¥·¡¼¥±¥ó¥¹¤Î¼¡¤ÎÃͤòÁÞÆþ¤¹¤ë¤Ë¤Ï¡¢serialÎó¤Ë¤½¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤò³ä¤êÅö¤Æ¤ë¤è¤¦»ØÄꤷ¤Æ¤¯¤À¤µ¤¤¡£ ¤³¤ì¤Ï¡¢INSERTʸ¤ÎÎó¥ê¥¹¥È¤«¤é¤½¤ÎÎó¤ò½ü³°¤¹¤ë¡¢¤â¤·¤¯¤ÏDEFAULT¥¡¼¥ï¡¼¥É¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç¹Ô¤¦¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
serial¤Èserial4¤È¤¤¤¦·¿¤Î̾¾Î¤ÏÅù²Á¤Ç¤¹¡£ ¤È¤â¤ËintegerÎó¤òºîÀ®¤·¤Þ¤¹¡£ bigserial¤Èserial8¤È¤¤¤¦·¿¤Î̾¾Î¤âbigintÎó¤òºîÀ®¤¹¤ë¤³¤È¤ò½ü¤¤¤ÆÆ±¤¸¿¶Éñ¤¤¤ò¤·¤Þ¤¹¡£ ¤â¤·¥Æ¡¼¥Ö¥ë¤ò»ÈÍѤ¹¤ë´ü´Ö¤Ç231°Ê¾å¤Î¼±Ê̻Ҥò»ÈÍѤ¹¤ë¤Èͽ¬¤µ¤ì¤ë¾ì¹ç¡¢bigserial¤ò»ÈÍѤ·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó¡£
serialÎóÍѤ˺îÀ®¤µ¤ì¤¿¥·¡¼¥±¥ó¥¹¤Ï¡¢¤½¤ì¤ò½êͤ¹¤ëÎ󤬺ï½ü¤µ¤ì¤¿»þ¤Ë¼«Æ°Åª¤Ëºï½ü¤µ¤ì¡¢Â¾¤ÎÊýË¡¤Çºï½ü¤µ¤ì¤ë¤³¤È¤Ï¤¢¤ê¤Þ¤»¤ó
¡Ê¤³¤Î¤³¤È¤Ï¡¢PostgreSQL¤Î7.3¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Ë¤ÏÅö¤Æ¤Ï¤Þ¤ê¤Þ¤»¤ó¡£
¥Ð¡¼¥¸¥ç¥ó7.3¤è¤êÁ°¤Î¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤é¤Î¥À¥ó¥×¤ò¥ê¥í¡¼¥É¤¹¤ë¤³¤È¤Ë¤è¤Ã¤ÆºîÀ®¤µ¤ì¤¿¥·¡¼¥±¥ó¥¹¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤³¤Î¼«Æ°Ï¢º¿ºï½ü¤ÏȯÀ¸¤·¤Þ¤»¤ó¡£
7.3¤è¤êÁ°¤Î¥À¥ó¥×¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢°Í¸´Ø·¸¤Î·Ò¤¬¤ê¤ò³ÎΩ¤¹¤ë¤¿¤á¤ËɬÍפʾðÊó¤¬´Þ¤Þ¤ì¤Æ¤¤¤Ê¤¤¤«¤é¤Ç¤¹¡Ë¡£
¤µ¤é¤Ë¸À¤¨¤Ð¡¢¤³¤Î°Í¸´Ø·¸¤ÏserialÎó¤Ë¤è¤Ã¤ÆÀ¸À®¤µ¤ì¤¿¥·¡¼¥±¥ó¥¹¤È¤³¤ÎÎó¼«ÂΤδ֤ˤÀ¤±Â¸ºß¤·¤Þ¤¹¡£
¤â¤·Â¾¤ÎÎ󤬤³¤Î¥·¡¼¥±¥ó¥¹¤ò»²¾È¤·¤Æ¤¤¤¿¡Ê¤ª¤½¤é¤¯nextval()´Ø¿ô¤ò¼êư¤Ç¸Æ¤Ó½Ð¤¹¡Ë¾ì¹ç¡¢¤³¤Î¥·¡¼¥±¥ó¥¹¤¬ÇË´þ¤µ¤ì¤¿¤é¤½¤Î´Ø·¸¤Ï²õ¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
serialÎó¤Î¥·¡¼¥±¥ó¥¹¤ò¤³¤Î¤è¤¦¤Ë»ÈÍѤ¹¤ë¤³¤È¤Ï¹¥¤Þ¤·¤¯¤Ê¤¤¤â¤Î¤È¤ß¤Ê¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Ʊ°ì¤Î¥·¡¼¥±¥ó¥¹¥¸¥§¥Í¥ì¡¼¥¿¤«¤éÊ£¿ô¤ÎÎó¤ÎÃͤòÄ󶡤·¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢ÆÈΩ¤·¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¥·¡¼¥±¥ó¥¹¤òºîÀ®¤·¤Æ¤¯¤À¤µ¤¤¡£
| Á°¤Î¥Ú¡¼¥¸ | ¥Û¡¼¥à | ¼¡¤Î¥Ú¡¼¥¸ |
| LIMIT¤ÈOFFSET | ¾å¤ËÌá¤ë | Ä̲߷¿ |