:meta-keywords: cubrid number, cubrid date time, cubrid string, cubrid character, cubrid collection, cubrid null, database literal :meta-description: This section describes how to write a literal value in CUBRID. ****** 리터럴 ****** CUBRIDì—서 리터럴(literal) ê°’ì„ ìž‘ì„±í•˜ëŠ” ë°©ë²•ì„ ê¸°ìˆ í•œë‹¤. ìˆ«ìž ==== ìˆ«ìž ê°’ì—는 ì •í™•í•œ 수치(exact value)를 표기하는 방법과 근사치(approximate value)를 표기하는 ë°©ë²•ì´ ìžˆë‹¤. * ì •í™•í•œ 수치는 ì¼ë ¨ì˜ 숫ìžì™€ .으로 표현하며, ê°’ì˜ ë²”ìœ„ì— ë”°ë¼ INT, BIGINT ë˜ëŠ” NUMERIC 타입으로 í•´ì„ëœë‹¤. :: 10, 123456789012, 1234234324234.23 * 근사치는 ì¼ë ¨ì˜ 숫ìžì™€ . ê·¸ë¦¬ê³ E(공학용 표기. 10ì˜ ìŠ¹ìˆ˜)로 표현하며, DOUBLE 타입으로 í•´ì„ëœë‹¤. :: 1.2345E15, 12345E5 * +, -를 ìˆ«ìž ì•žì— í‘œê¸°í• ìˆ˜ 있으며, 승수를 표현하는 E ë’¤ì— ë‚˜ì˜¤ëŠ” ìˆ«ìž ì•žì—ë„ +, -를 í‘œê¸°í• ìˆ˜ 있다. :: +10.2345, -1.2345E-15 .. _date-time-literal: ë‚ ì§œ/시간 ========= ë‚ ì§œì™€ ì‹œê°„ì„ ë‚˜íƒ€ë‚´ëŠ” 타입ì—는 DATE, TIME, DATETIME, TIMESTAMP íƒ€ìž…ì´ ìžˆìœ¼ë©°, 문ìžì—´ ì•žì— date, time, datetime, timestamp 리터럴(ëŒ€ì†Œë¬¸ìž êµ¬ë¶„ ì—†ìŒ)ì„ ì¶”ê°€í•˜ì—¬ ì´ ê°’ë“¤ì„ í‘œê¸°í•œë‹¤. ë‚ ì§œ/시간 ë¦¬í„°ëŸ´ì„ ì‚¬ìš©í•˜ë©´ 문ìžì—´ì„ ë‚ ì§œ/시간으로 변환하는 :func:`TO_DATE`, :func:`TO_TIME`, :func:`TO_DATETIME`, :func:`TO_TIMESTAMP`\와 ê°™ì€ í•¨ìˆ˜ë¥¼ 사용하지 ì•Šì•„ë„ ëœë‹¤. 단, ë‚ ì§œì™€ ì‹œê°„ì„ í‘œí˜„í•˜ëŠ” 문ìžì—´ì˜ 순서는 반드시 지켜야 한다. * ë‚ ì§œ ë¦¬í„°ëŸ´ì€ 'YYYY-MM-DD' ë˜ëŠ” 'MM/DD/YYYY'ë§Œ 허용한다. :: date'1974-12-31', date'12/31/1974' * 시간 ë¦¬í„°ëŸ´ì€ 'HH:MI:SS', 'HH:MI:SS AM', 'HH:MI:SS PM'ë§Œ 허용한다. :: time'12:13:25', time'12:13:25 AM', time'12:13:25 PM' * DATETIME 타입ì—서 사용하는 ë‚ ì§œ/시간 ë¦¬í„°ëŸ´ì€ 'YYYY-MM-DD HH:MI:SS[.msec AM|PM]' ë˜ëŠ” 'MM/DD/YYYY HH:MI:SS[.msec AM|PM]' 형ì‹ì„ 허용한다. msecì€ ë°€ë¦¬ 초로, 3ìžë¦¬ 숫ìžê¹Œì§€ 표기한다. :: datetime'1974-12-31 12:13:25.123 AM', datetime'12/31/1974 12:13:25.123 AM' * TIMESTAMP 타입ì—서 사용하는 ë‚ ì§œ/시간 ë¦¬í„°ëŸ´ì€ 'YYYY-MM-DD HH:MI:SS[ AM|PM]' ë˜ëŠ” 'MM/DD/YYYY HH:MI:SS[ AM|PM]' 형ì‹ì„ 허용한다. :: timestamp'1974-12-31 12:13:25 AM', timestamp'12/31/1974 12:13:25 AM' * íƒ€ìž„ì¡´ì„ í¬í•¨í•˜ëŠ” ë‚ ì§œ/시간 íƒ€ìž…ì˜ ë¦¬í„°ëŸ´ì€ ìœ„ì—서 설명한 것과 ë™ì¼í•œ 형ì‹ì„ 가지며, ë’¤ì— íƒ€ìž„ì¡´ ì •ë³´ë¥¼ 나타내는 오프셋 ë˜ëŠ” ì§€ì— ì´ë¦„ì„ ì¶”ê°€í•œë‹¤. * ê° íƒ€ìž…ì˜ ê°’ì„ ë‚˜íƒ€ë‚´ê¸° 위해 문ìžì—´ ì•žì— datetimetz, datetimeltz, timestamptz ë˜ëŠ” timestampltz 문ìžë¥¼ 추가한다. :: datetimetz'10/15/1986 5:45:15.135 am +02:30:20'; datetimetz'10/15/1986 5:45:15.135 am +02:30'; datetimetz'10/15/1986 5:45:15.135 am +02'; datetimeltz'10/15/1986 5:45:15.135 am Europe/Bucharest' datetimetz'2001-10-11 02:03:04 AM Europe/Bucharest EEST'; timestampltz'10/15/1986 5:45:15 am Europe/Bucharest' timestamptz'10/15/1986 5:45:15 am Europe/Bucharest' * 문ìžì—´ ì•žì— ì˜¤ëŠ” ë¦¬í„°ëŸ´ì€ <ë‚ ì§œ/시간 타입> WITH TIMEZONE ë˜ëŠ” <ë‚ ì§œ/시간 타입> WITH LOCAL TIME ZONE으로 ëŒ€ì²´í• ìˆ˜ 있다. :: DATETIME WITH TIMEZONE = datetimetz DATETIME WITH LOCAL TIMEZONE = datetimeltz TIMESTAMP WITH TIMEZONE = timestamptz TIMESTAMP WITH LOCAL TIMEZONE = timestampltz :: DATETIME WITH TIME ZONE'10/15/1986 5:45:15.135 am +02'; DATETIME WITH LOCAL TIME ZONE'10/15/1986 5:45:15.135 am +02'; .. note:: * <date/time type> WITH LOCAL TIME ZONE: ë‚´ë¶€ì 으로 UTC ì‹œê°„ì„ ì €ìž¥í•˜ë©°, ì¶œë ¥ 시 로컬(í˜„ìž¬ì˜ ì„¸ì…˜) 타임존으로 변환ëœë‹¤. * <date/time type> WITH TIME ZONE: ë‚´ë¶€ì 으로 UTC 시간과 ìƒì„± 시 타임존 ì •ë³´(사용ìžê°€ 명시하거나 세션 íƒ€ìž„ì¡´ì— ì˜í•´ ê²°ì •ë¨)를 ì €ìž¥í•œë‹¤. 비트열 ====== ë¹„íŠ¸ì—´ì€ 2진수 형ì‹ê³¼ 16진수 형ì‹ì˜ 2가지를 사용한다. 2진수 형ì‹ì€ ìˆ«ìž ì•žì— B ë˜ëŠ” 0b를 붙여 표기한다. B ë’¤ì—는 0ê³¼ 1로 ëœ ë¬¸ìžì—´ì„, 0b ë’¤ì—는 0ê³¼ 1로 ëœ ìˆ«ìžë¥¼ ìž…ë ¥í•œë‹¤. :: B'10100000' 0b10100000 2진수는 8ìžë¦¬ì”© 표기하며, ìž…ë ¥ 숫ìžê°€ 8ìžë¦¬ë¡œ 나뉘지 않으면 ë’¤ì— 0ì´ 8ìžë¦¬ë¥¼ 채울 때까지 ë§ë¶™ì€ 값으로 ì €ìž¥ëœë‹¤. 즉, B'1'ì€ B'10000000'으로 ì €ìž¥ëœë‹¤. 16진수 형ì‹ì€ ìˆ«ìž ì•žì— X ë˜ëŠ” 0x를 붙여 표기한다. X ë’¤ì—는 16진수 문ìžì—´ì„, 0x ë’¤ì—는 16진수 숫ìžë¥¼ ìž…ë ¥í•œë‹¤. :: X'a0' 0xA0 16진수는 2ìžë¦¬ì”© 표기하며, ìž…ë ¥ 숫ìžê°€ 2ìžë¦¬ë¡œ 나뉘지 않으면 ë’¤ì— 0ì´ 2ìžë¦¬ë¥¼ 채울 때까지 ë§ë¶™ì€ 값으로 ì €ìž¥ëœë‹¤. 즉, X'a'는 X'a0'으로 ì €ìž¥ëœë‹¤. 문ìžì—´ ====== 문ìžì—´ì€ ìž‘ì€ ë”°ì˜´í‘œë¡œ ê°ì‹¸ì„œ 표현한다. * ìž‘ì€ ë”°ì˜´í‘œë¥¼ 문ìžì—´ì— í¬í•¨ì‹œí‚¤ê³ 싶으면 ì—°ì†í•´ì„œ ë‘ ë²ˆ ìž…ë ¥í•œë‹¤. .. code-block:: sql SELECT 'You''re welcome.'; * 백슬래시를 ì´ìš©í•œ ì´ìŠ¤ì¼€ì´í”„는 **cubrid.conf**\ì˜ **no_backslash_escapes** 파ë¼ë¯¸í„° ê°’ì„ no로 ì„¤ì •í–ˆì„ ë•Œë§Œ ì‚¬ìš©í• ìˆ˜ 있다. ê¸°ë³¸ê°’ì€ yesì´ë‹¤. 보다 ìžì„¸í•œ ì„¤ëª…ì€ :ref:`escape-characters`\를 ì°¸ê³ í•œë‹¤. * 문ìžì—´ ì•žì— ë¬¸ìžì…‹ 소개ìžë¥¼ ë‘ê³ ë¬¸ìžì—´ ë’¤ì—는 COLLATE ìˆ˜ì •ìžê°€ 올 수 있다. 보다 ìžì„¸í•œ ì„¤ëª…ì€ :ref:`charset-introducer`\를 ì°¸ê³ í•œë‹¤. ì»¬ë ‰ì…˜ ====== ì»¬ë ‰ì…˜ 타입ì—는 SET, MULTISET, LISTê°€ 있으며, 쉼표로 구분ë˜ëŠ” ì›ì†Œë“¤ì„ 중괄호({, })로 ê°ì‹¸ì„œ 표현한다. :: {'c','c','c','b','b','a'} 보다 ìžì„¸í•œ ì„¤ëª…ì€ :ref:`collection-data-type`\ì„ ì°¸ê³ í•œë‹¤. NULL ==== NULL ê°’ì€ ë°ì´í„°ê°€ 없다는 ê²ƒì„ ì˜ë¯¸í•œë‹¤. NULLì€ ëŒ€ì†Œë¬¸ìžë¥¼ 구분하지 않아 nullë¡œë„ ì“°ì¼ ìˆ˜ 있다. NULL ê°’ì€ ìˆ«ìž 0 ë˜ëŠ” 빈 문ìžì—´('')ì´ ì•„ë‹ˆë¼ëŠ” ì ì— ì£¼ì˜í•œë‹¤.