µ¥ÀÌÅÍ Å¸ÀÔ

µ¥ÀÌÅÍ Å¸ÀÔÀÇ º¯È¯
µ¥ÀÌÅÍ Å¸ÀÔÀ» ºÐ·ùÇÏ¸é ´ÙÀ½°ú °°´Ù.

´ÜÀÏÇü µ¥ÀÌÅÍŸÀÔ µ¥ÀÌÅÍ Å¸ÀÔ Ä÷³¿¡ ¿ÀÁ÷ ÇϳªÀÇ µ¥ÀÌÅ͸¸ ÀúÀåÇÒ ¼ö Àִ ŸÀÔ
º¹ÇÕÇü µ¥ÀÌÅÍŸÀÔ ÇϳªÀÇ µ¥ÀÌÅÍ Å¸ÀÔ Ä÷³¿¡ ¿©·¯ °³ÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» ÀúÀåÇÒ ¼ö Àִ ŸÀÔ
°ü°èÇü µ¥ÀÌÅÍŸÀÔ °ü°èÇü µ¥ÀÌÅͺ£À̽ºÀÇ foreign-key¿Í °°ÀÌ ´Ù¸¥ Å×À̺í°úÀÇ °ü°è¿¡ ÀÇÇØ µ¥ÀÌÅÍ Å¸ÀÔÀÌ Á¤ÀǵǴ ŸÀÔ
»ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍŸÀÔ °´Ã¼¸¦ ÅëÇØ µ¥ÀÌÅÍ Å¸ÀÔÀ» Á¤ÀÇ
µ¥ÀÌÅÍŸÀÔ¼³¸í
CHAR[(size[BYTE ¦ CHAR])]sizeÅ©±âÀÇ °íÁ¤±æÀÌ ¹®ÀÚ µ¥ÀÌÅÍ, ±âº»°ª 1 ¹ÙÀÌÆ®, ÃÖ´ë°ª 2000 ¹ÙÀÌÆ®
NCHAR[(size)]sizeÅ©±âÀÇ °íÁ¤±æÀÌ ¹®ÀÚ µ¥ÀÌÅÍ, ±âº»°ª 1 ¹ÙÀÌÆ®, ÃÖ´ë°ª 2000 ¹ÙÀÌÆ®
VARCHAR2(size[BYTE ¦ CHAR])size Å©±âÀÇ °¡º¯±æÀÌ ¹®ÀÚ µ¥ÀÌÅÍ,
ÃÖ¼Ò°ª 1, ÃÖ´ë°ª 4000, ¹Ýµå½Ã ÃÖ´ë°ªÀ» ÁöÁ¤
NVARCHAR2(size)size Å©±âÀÇ °¡º¯±æÀÌ ±¹°¡º° ¹®ÀÚ µ¥ÀÌÅÍ,
ÃÖ¼Ò°ª 1, Ä¡´ë°ª 4000, ¹Ýµå½Ã ÃÖ´ë°ªÀ» ÁöÁ¤
NUMBER[(p[,s])]¼ýÀÚ°ª -38ÀÚ¸´¼ö¿¡¼­ +38 ÀÚ¸´¼ö±îÁö ÀúÀå
p´Â Àüü ÀÚ¸´¼ö, s´Â ¼Ò¼ýÁ¡ÀÌÇÏ ÀÚ¸´¼ö
FLOAT[(p)]Á¤¹Ðµµ p´Â 1∼126 binary digits·Î, 1∼22bytes°¡ ÇÊ¿äÇÔ,
FLOAT´Â ³»ºÎÀûÀ¸·Î NUMBERó·³ ³ªÅ¸³¿
LONG¹®ÀÚ(°¡º¯±æÀÌ, 2GB±îÁö Áö¿ø)
DATE³¯Â¥, ½Ã°£ °ª(°íÁ¤±æÀÌ, 7byte)À» ÀúÀå
BINARY_FLOAT32-bit floating point number·Î µ¥ÀÌÅÍŸÀÔÀº 5¹ÙÀÌÆ®°¡ ¿ä±¸µÊ
BINARY_DOUBLE64-bit floating point number·Î µ¥ÀÌÅÍŸÀÔÀº 9¹ÙÀÌÆ®°¡ ¿ä±¸µÊ
RAW(size),
LONG RAW
ÀÌÁøµ¥ÀÌÅÍ, RAWÀÇ ÃÖ´ë°ªÀº 2000À¸·Î ¹Ýµå½Ã size¸¦ ±â¼úÇØ¾ß Çϸç LONG RAW´Â 2GB±îÁö Áö¿ø
CLOBÅØ½ºÆ® µ¥ÀÌÅ͸¦ ÀúÀå=(4GB-1)*(data block size)
NCLOBÅØ½ºÆ® µ¥ÀÌÅ͸¦ ÀúÀå=(4GB-1)*(data block size)
BLOB2Áø µ¥ÀÌÅ͸¦ (4GB-1)*(database block size)±îÁö ÀúÀå
BFILE2Áø µ¥ÀÌÅ͸¦ ¿ÜºÎ fileÇüÅ·Π4GB±îÁö ÀúÀå
ROWIDÅ×ÀÌºí ³»ÀÇ ÇàÀÇ °íÀ¯ ÁÖ¼Ò¸¦ °¡Áö´Â 64 ¹®ÀÚ Å¸ÀÔ
UROWID[(size)]Å×ÀÌºí ³»ÀÇ ÇàÀÇ °íÀ¯ ÁÖ¼Ò¸¦ °¡Áö´Â 64 ¹®ÀÚ Å¸ÀÔÀ¸·Î ÃÖ´ëÅ©±âÀÌÀÚ µðÆúÆ®ÀÎ 4000¹ÙÀÌÆ®
TIMESTAMP[(n)]DATEÀÇ È®Àå ÇüÅ·Î, ÃÖ´ë 9ÀÚ¸®ÀÇ ³â,¿ù,ÀÏ,½Ã,ºÐ,ÃÊ,¹Ð¸®ÃʱîÁö º¸¿©ÁÜ
nÀº ÃÊ´ÜÀ§ ´ÙÀ½¿¡ À̾ ³ªÅ¸³¾ mili secondÀÇ ÀÚ¸´¼ö·Î ±âº»°ªÀº 6ÀÌ´Ù
TIMESTAMP95/08/08 00:00:00.000000
TIMESTAMP(0)95/08/08 00:00:00
TIMESTAMP(2)95/08/08 00:00:00.00
TIMESTAMP(7)95/08/08 00:00:00.0000000
TIMESTAMP(9)95/08/08 00:00:00.000000000
TIMESTAMP[(n)] WITH TIME ZONEÁö¿ª ½Ã°£°ú ¿ùµå½ÃÀÇ Â÷À̳­ ½Ã°£ Á¤º¸¸¦ º¸¿©ÁÜ, nÀº ÃÊ´ÜÀ§ ´ÙÀ½¿¡ À̾ ³ªÅ¸³¾ mili secondÀÇ ÀÚ¸´¼ö·Î ±âº»°ªÀº 6ÀÌ´Ù.
TIMESTAMP[(n)] WITH LOCAL TIME ZONEÁö¿ª ½Ã°£À¸·Î º¯È¯ÇÏ¿© ÀúÀå, nÀº ÃÊ´ÜÀ§ ´ÙÀ½¿¡ À̾ ³ªÅ¸³¾ mili secondÀÇ ÀÚ¸´¼ö·Î ±âº»°ªÀº 6ÀÌ´Ù
INTERVAL YEAR[(n)] TO MONTH³â°ú ¿ùÀ» »ç¿ëÇÏ¿© ³¯Â¥°ªÀÇ ±â°£À» ÀúÀå
INTERVAL DAY[(n)] TO SECOND[(n)]µÎ ³¯Â¥°ª »çÀÌÀÇ Â÷À̸¦ ÀÏ,½Ã,ºÐ,ÃÊÀÇ ±â°£À¸·Î ÁöÁ¤
INTERVAL DAY TO HOURµÎ ³¯Â¥°ª »çÀÌÀÇ Â÷À̸¦ ÀÏ,½Ã,ºÐ,ÃÊÀÇ ±â°£À¸·Î ÁöÁ¤
INTERVAL DAY TO MINUTEµÎ ³¯Â¥°ª »çÀÌÀÇ Â÷À̸¦ ÀÏ,½Ã,ºÐ,ÃÊÀÇ ±â°£À¸·Î ÁöÁ¤
INTERVAL HOUR TO SECONDµÎ ³¯Â¥°ª »çÀÌÀÇ Â÷À̸¦ ÀÏ,½Ã,ºÐ,ÃÊÀÇ ±â°£À¸·Î ÁöÁ¤
binary_float_nannot a number(NAN) for BINARY_FLOAT ŸÀÔ
binary_float_infinityinfinity(INF) for BINARY_FLOAT ŸÀÔ (¹«ÇÑ´ë)
binary_double_nannot a number(NAN) for BINARY_DOUBLE ŸÀÔ
binary_double_infinityinfinity(INF) for BINARY_DOUBLE ŸÀÔ (¹«ÇÑ´ë)
LONG/LONG RAW¿Í BLOB/CLOBÀÇ Â÷ÀÌÁ¡
LONG/LONG RAWLOB
ÇϳªÀÇ Å×ÀÌºí¿¡ ÇϳªÀÇ Ä÷³¸¸ Á¤ÀÇÇϳªÀÇ Å×ÀÌºí¿¡ ¿©·¯ Ä÷³¿¡ Á¤ÀÇ
2GB±îÁö ÀúÀå°¡´É4GB±îÁö ÀúÀå °¡´É
SELECTÇÏ¸é ½ÇÁ¦ µ¥ÀÌÅͰ¡ ¸®Åϵ¥ÀÌÅͰ¡ Á¸ÀçÇÏ´Â À§Ä¡¸¸ ¸®ÅÏ
µ¥ÀÌÅÍ´Â Ç×»ó DB ³»¿¡ ÀúÀåµ¥ÀÌÅÍ´Â DB ³»ºÎ ¶Ç´Â ¿ÜºÎ¿¡ ÀúÀå
µ¥ÀÌÅÍ´Â ¼øÂ÷ÀûÀ¸·Î ÀÐÀ½µ¥ÀÌÅÍ´Â ·£´ýÇÏ°Ô ÀÐÀ½
TIMESTAMP ÇÔ¼ö
current_date ÇöÀçÀÇ ³¯Â¥/½Ã°£ Á¤º¸¸¦ "ÀÏ/¿ù/³â 24½Ã:ºÐ:ÃÊ" Çü½ÄÀ¸·Î º¸¿©ÁØ´Ù.
current_timestamp ÇöÀç ½Ã°£À» mili-second±îÁö ³ªÅ¸³½´Ù. ¶ÇÇÑ ½ÇÁ¦ Áö¿ª½Ã°£°úÀÇ Â÷À̽𣵵 ³ªÅ¸³½´Ù.
localtimestamp ÇöÀç Áö¿ª½Ã°£À» º¸¿©ÁØ´Ù.
DBtimezone ¿À¶óŬ DB°¡ óÀ½ »ý¼ºµÉ ¶§ ¿î¿µÃ¼Á¦·ÎºÎÅÍ È®ÀÎµÈ ½Ã°£Á¤º¸
sessiontinezone ÇöÀç »ç¿ëÀÚ°¡ Á¢¼ÓÇÑ ¼¼¼Ç¿¡¼­ alter session set time_zone ¸í·É¿¡ ÀÇÇØ¼­ Àû¿ëµÈ ½Ã°£Á¤º¸
extract sysdate ÇÔ¼ö·ÎºÎÅä Æ¯Á¤ ½Ã°£ Á¤º¸¸¦ ÃßÃâÇÏ¿© ÂüÁ¶ÇÒ ¶§ »ç¿ë
from_tz alter session set ÀýÀ» »ç¿ëÇÏ¿© ÇöÀç ½Ã°£ Á¤º¸¸¦ ¼¼¼Ç ·¹º§¿¡¼­ º¯°æÇÏÁö ¸øÇÏ´Â °æ¿ì ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϸé timestamp with time zoneÀÇ ½Ã°£ Á¤º¸¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.
to_timestamp & to_timestamp_tz timestamp¿Í timestamp with time zone Á¤º¸ÀÇ Ãâ·Â Çü½ÄÀ» °áÁ¤ÇÒ ¶§ »ç¿ë
to_yminterval ÁöÁ¤µÈ ½Ã°£ Á¤º¸¸¦ interval ³¯Â¥ Çü½ÄÀ¸·Î º¯È¯ÇÏ¿© º¸¿©ÁØ´Ù.


¡¼¿¹Á¦¡½ SQL> create table test( 2 dno number(2), 3 dname varchar2(14), 4 zipcode char(7)); Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù. SQL> create table insa_manage( 2 insa_no number(3), 3 hire_mon interval year(3) to month, 4 hire_day interval day(3) to second(7)); Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù. 9.01ÀÌÀü¹öÀüÀº Áö¿øÇÏÁö ¾ÊÀ½ 5 [hire_hour interval day(5) to hour, 6 hire_min interval day to minute, 7 hire_sec interval hour to second(7)] SQL> desc insa_manage; À̸§ ³Î? À¯Çü ----------------------------------------- -------- ---------------------------- INSA_NO NUMBER(3) HIRE_MON INTERVAL YEAR(3) TO MONTH HIRE_DAY INTERVAL DAY(3) TO SECOND(7) SQL> ¡¼¿¹Á¦¡½ SQL> insert into insa_manage(insa_no,hire_mon) 2 values(10,interval '100-11' year(3) to month); ¢Ð 100³â 11°³¿ùÀ» ÀÔ·Â 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> insert into insa_manage(insa_no,hire_mon) 2 values(20,interval '200' month(3)); ¢Ð 200°³¿ùÀ» ÀÔ·Â 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> insert into insa_manage(insa_no,hire_mon) 2 values(30, interval '100' year(3)); ¢Ð 100³â 00°³¿ùÀ» ÀÔ·Â 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> select * from insa_manage; INSA_NO HIRE_MON HIRE_DAY ---------- --------------- ---------- 10 +100-11 20 +016-08 30 +100-00 SQL> ¡¼¿¹Á¦¡½ SQL> insert into insa_manage(insa_no,hire_day) 2 values(40, interval '2 3:30:20' day(3) to second(7)); ¢Ð 2°³¿ù 3½Ã°£ 30ºÐ 20ÃÊ °ªÀ» ÀÔ·Â 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> insert into insa_manage(insa_no,hire_day) 2 values(50, interval '18' day(2)); ¢Ð 18°³¿ùÀ» ÀÔ·Â 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> insert into insa_manage(hire_day) 2 values(interval '100' day(3)); 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> select * from insa_manage; INSA_NO HIRE_MON HIRE_DAY ---------- --------------- ------------------------------ 10 +100-11 20 +016-08 30 +100-00 40 +002 03:30:20.0000000 50 +018 00:00:00.0000000 +100 00:00:00.0000000 6 °³ÀÇ ÇàÀÌ ¼±ÅõǾú½À´Ï´Ù. SQL> ¡¼¿¹Á¦¡½ SQL> create table time_stamp( 2 first timestamp, 3 second timestamp(0), 4 third timestamp(2), 5 fourth timestamp(7), 6 fift timestamp(9)); Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù. SQL> insert into time_stamp 2 values(sysdate,sysdate,sysdate,sysdate,sysdate); 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> select * from time_stamp; FIRST --------------------------------------------------------------------------- SECOND --------------------------------------------------------------------------- THIRD --------------------------------------------------------------------------- FOURTH --------------------------------------------------------------------------- FIFT --------------------------------------------------------------------------- 18-12¿ù-05 10.41.25.000000 ¿ÀÀü 18-12¿ù-05 10.41.25 ¿ÀÀü 18-12¿ù-05 10.41.25.00 ¿ÀÀü 18-12¿ù-05 10.41.25.0000000 ¿ÀÀü 18-12¿ù-05 10.41.25.000000000 ¿ÀÀü SQL> ¡¼¿¹Á¦¡½ SQL> select sysdate from dual; SYSDATE -------------- 18-12¿ù-05 SQL> select value from nls_session_parameters 2 where parameter='NLS_TIMESTAMP_FORMAT'; VALUE -------------------------------------------------------------------------------- DD-MON-RR HH.MI.SSXFF AM SQL>
TIMESTAMP WITH TIME ZONE °ú TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE Çü½ÄÀÇ TIMESTAMP µ¥ÀÌÅÍ Çü½Ä¿¡ time zoneÀ» °°ÀÌ ÁöÁ¤ÇÑ ÇüÅ·ΠglobalÇÑ ¼¼°è ȯ°æ¿¡ ÀûÇÕÇϵµ·Ï Á¦°øÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ´Ù.
TIMESTAMP WITH LOCAL TIME ZONE Çü½ÄÀÇ TIMESTAMP µ¥ÀÌÅÍ Çü½Ä¿¡ time zoneÀ» °°ÀÌ ÁöÁ¤ÇÏÁö ¾Ê°í ÇöÀç »ç¿ëÁßÀÎ DBÀÇ time zoneÀ» ±âÁØÀ¸·Î º¯ÇÑÇØ¼­ ÀúÀåÇÑ´Ù.

Áï, timstamp with time zoneÀº GMT¸¦ ±âÁØÀ¸·Î Çϱ⠶§¹®¿¡ ¿ì¸®³ª¶ó´Â +9°¡ ¾²ÀÌÁö¸¸, timestamp with local time zoneÀº ÇöÁö½Ã°¢À¸·Î ¾²À̹ǷΠ+9°¡ ¾²ÀÌÁö ¾Ê´Â´Ù.

¡¼Çü½Ä¡½
	TIMESTAMP(n) WITH TIME ZONE

TIMESTAMP(n) WITH LOCAL TIME ZONE

¿©±â¼­ nÀº ¹Ð¸®ÃÊ ´ÜÀ§ÀÇ µ¥ÀÌÅ͸¦ ³ªÅ¸³¾ ¼ö ÀÖ´Â ÀÚ¸´¼ö¸¦ ÁöÁ¤ÇÑ´Ù. nÀº 0~9±îÁö ¿Ã ¼ö ÀÖÀ¸¸ç, µðÆúÆ®´Â 6ÀÚ¸®ÀÌ´Ù.
¡¼¿¹Á¦¡½
SQL> create table test(aa timestamp with time zone,
  2                    bb timestamp with local time zone);
 
Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù.
 
SQL> desc test;
 À̸§         ³Î?      À¯Çü
 ------------ -------- ----------------------------------
 AA                    TIMESTAMP(6) WITH TIME ZONE
 BB                    TIMESTAMP(6) WITH LOCAL TIME ZONE
 
SQL> insert into test values(sysdate,sysdate);
 
1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù.

SQL> select * from test;
 
AA
-----------------------------------------------
BB
-----------------------------------------------
18-1¿ù -06 11.37.04.000000 ¿ÀÀü +09:00
18-1¿ù -06 11.37.04.000000 ¿ÀÀü
 
 
SQL>
 
Pseudo ColumnÀ» ÀǹÌÇÏ´Â °Í
ROWIDEach row in the database has an address
ROWNUMÅ×ÀÌºí¿¡¼­ select µÇ¾îÁø ÇàÀÇ ¼ø¼­¹øÈ£
¹®ÀÚÇü µ¥ÀÌÅÍ Å¸ÀÔ ºñ±³¹æ¹ý
binary_float, binary_double binary_float_nan, binary_float_infinity binary_double_nan, binary_double_infinity µ¥ÀÌÅÍ Å¸ÀÔ ¡¼¿¹Á¦¡½ SQL> CREATE TABLE binary_test 2 (bin_float BINARY_FLOAT, ¢Ð 32 bit ºÎµ¿ ¼Ò¼öÁ¡ Ç¥Çö 3 bin_double BINARY_DOUBLE); ¢Ð 64 bit ºÎµ¿ ¼Ò¼öÁ¡ Ç¥Çö Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù. SQL> INSERT INTO binary_test 2 VALUES(39.5f, 15.7d); 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> SELECT * FROM binary_test; BIN_FLOAT BIN_DOUBLE ---------- ---------- 3.95E+001 1.57E+001 SQL> INSERT INTO binary_test VALUES( 2 BINARY_FLOAT_INFINITY, ¢Ð ¹«ÇÑ´ë°ªÀ» ÀúÀå 3 BINARY_DOUBLE_INFINITY); 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> SELECT * FROM binary_test; BIN_FLOAT BIN_DOUBLE ---------- ---------- 3.95E+001 1.57E+001 Inf Inf ¢Ð ¹«ÇÑ´ë°ª Ç¥½Ã SQL> SQL> insert into binary_test values 2 (binary_float_nan, binary_double_nan); ¢Ð not a number Ç¥½Ã 1 °³ÀÇ ÇàÀÌ ¸¸µé¾îÁ³½À´Ï´Ù. SQL> select * from binary_test; BIN_FLOAT BIN_DOUBLE ---------- ---------- 3.95E+001 1.57E+001 Inf Inf Nan Nan ¢Ð not a number °ª Ç¥½Ã SQL> select * from binary_test 2 where bin_float is not nan; BIN_FLOAT BIN_DOUBLE ---------- ---------- 3.95E+001 1.57E+001 Inf Inf SQL> select * from binary_test 2 where bin_float is not infinite; BIN_FLOAT BIN_DOUBLE ---------- ---------- 3.95E+001 1.57E+001 Nan Nan SQL> select * from binary_test 2 where bin_float is infinite; BIN_FLOAT BIN_DOUBLE ---------- ---------- Inf Inf SQL>