8.9. ºñÆ® ¹®ÀÚ¿­ ŸÀÔ

ºñÆ®¿­°ú´Â 1À¸·Î 0ÀÇ ºñÆ®°¡ ¿¬¼ÓÇÑ °ÍÀÔ´Ï´Ù. ºñÆ® ¸¶½ºÅ©¸¦ ÀúÀåÇϰųª Ç¥¸éÈ­Çϱâ À§Çؼ­ »ç¿ëµË´Ï´Ù. SQLÀÇ ºñÆ®Çü¿¡´Â 2°³ ÀÖ½À´Ï´Ù. bit( n )¿Íbit varying( n )ÀÔ´Ï´Ù. ¿©±â¼­ n ´Â ¾çÀÇ Á¤¼öÀÔ´Ï´Ù.

bitÇüÀÇ µ¥ÀÌÅÍ´Â ¾ö¹ÐÇÏ°Ô n ·Î ³ªÅ¸³»Áö´Â ±æÀÌ¿¡ ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ ±æÀ̺¸´Ù ±ä°¡ ªÀº ºñÆ®¿­À» ÀúÀåÇÏ·Á°í ÇÏ¸é ¿¡·¯°¡ µË´Ï´Ù. bit varyingÇüÀÇ µ¥ÀÌÅÍ´Â ÃÖ´ë n ±îÁöÀÇ °¡º¯ ±æÀÌÀÔ´Ï´Ù. ÃÖ´ëÀåÀ» ³Ñ´Â ºñÆ®¿­Àº ¹Þ¾ÆµéÀÌÁö ¾Ê½À´Ï´Ù. ±æÀÌ ÁöÁ¤ÀÌ ¾ø´Âbitµ¥ÀÌÅÍÇüÀºbit(1)µ¥ÀÌÅÍÇü°ú µ¿ÀÏÇØ, ±æÀÌ ÁöÁ¤ÀÌ ¾ø´Âbit varyingµ¥ÀÌÅÍÇüÀº ¹«ÇÑÀåÀ» ÀǹÌÇÕ´Ï´Ù.

Note: ºñÆ®¿­ÀÇ °ªÀ» ¸í½ÃÀûÀ¸·Îbit( n )¿¡ ij½ºÆ® Çϸé, ¾ö¹ÐÇÏ°Ô n ºñÆ®°¡ µÇµµ·Ï, Àß¶ó ¹ö¸± ¼ö ÀÖÀ»±î ¿ìÃøÀ» Á¦·Î ä¿ì°í µÇ¾î ¿¡·¯·Î´Â µÇÁö ¾Ê½À´Ï´Ù. °°ÀÌ ºñÆ®¿­ÀÇ °ªÀ» ¸í½ÃÀûÀ¸·Îbit varying( n )¿¡ ij½ºÆ® Çϸé, ºñÆ®¼ö°¡ n ¸¦ ³Ñ´Â °æ¿ì´Â ¿ìÃøÀ» Àß¶ó ¹ö¸± ¼ö ÀÖ½À´Ï´Ù.

ºñÆ®¿­Á¤¼ö¿¡ °üÇÑ ±¸¹®¿¡ ´ëÇÑ Á¤º¸´ÂSection 4.1.2.3À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ºñÆ® ³í¸® ¿¬»êÀÚ¿Í ºñÆ®¿­Á¶ÀÛ ÇÔ¼ö°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù. Section 9.6(À»)¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

Example 8-3. ºñÆ®¿­µ¥ÀÌÅÍÇüÀ» »ç¿ëÇØ

CREATE TABLE test (a BIT(3), b BIT VARYING(5));
INSERT INTO test VALUES (B'101', B'00');
INSERT INTO test VALUES (B'10', B'101');
ERROR:  bit string length 2 does not match type bit(3)
INSERT INTO test VALUES (B'10'::bit(3), B'101');
SELECT * FROM test;
  a  |  b
-----+-----
 101 | 00
 100 | 101