9.5. ¹ÙÀ̳ʸ® ¹®ÀÚ¿­ÇÔ¼ö¿Í ¿¬»êÀÚ

º»Àý¿¡¼­´ÂbyteaÇüÀÇ °ªÀ» Á¶»çÇϰųª Á¶ÀÛÇϱâ À§ÇÑ ÇÔ¼ö ¹× ¿¬»êÀÚ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

SQL¿¡¼­´Â, ÀμöÀÇ ´Ü¶ô¿¡ ÄÞ¸¶°¡ ¾Æ´Ñ, ƯÁ¤ÀÇ Å°¿öµå¸¦ »ç¿ëÇϴ Ư¼öÇÑ ±¸¹®ÀÇ ¹®ÀÚ¿­ ÇÔ¼ö ¸î °³¸¦ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀºTable 9-8À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ÀÌ·¯ÇÑ ÇÔ¼ö´Â Åë»óÀÇ ÇÔ¼ö È£Ãâ ±¸¹®À» »ç¿ëÇØ ½ÇÇàµÇ°í ÀÖ½À´Ï´Ù(Table 9-9¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä).

Table 9-8. SQL¹ÙÀ̳ʸ® ¹®ÀÚ¿­ ÇÔ¼ö¿Í ¿¬»êÀÚ

ÇÔ¼ö ¹Ýȯ°ªÇü ¼³¸í ¿¹ °á°ú
string || string bytea ¹®ÀÚ¿­ °áÇÕ E'\\\\Post'::bytea || E'\\047gres\\000'::bytea \\Post'gres\000
get_bit(string, offset) int ¹®ÀÚ¿­·ÎºÎÅÍ ºñÆ®¸¦ ÃßÃâÇÕ´Ï´Ù. get_bit(E'Th\\000omas'::bytea, 45) 1
get_byte(string, offset) int ¹®ÀÚ¿­·ÎºÎÅÍ ºñÆ®¸¦ ÃßÃâÇÕ´Ï´Ù. get_byte(E'Th\\000omas'::bytea, 4) 109
octet_length(string) int ¹ÙÀ̳ʸ® ¹®ÀÚ¿­ ³»ÀÇ ¹ÙÀÌÆ®¼ö octet_length( E'jo\\000se'::bytea) 5
position(substring in string) int Location of specified substring position(E'\\000om'::bytea in E'Th\\000omas'::bytea) 3
set_bit(string, offset, newvalue) bytea ¹®ÀÚ¿­³»ÀÇ ºñÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. set_bit(E'Th\\000omas'::bytea, 45, 0) Th\000omAs
set_byte(string, offset, newvalue) bytea ¹®ÀÚ¿­³»ÀÇ ¹ÙÀÌÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù set_byte(E'Th\\000omas'::bytea, 4, 64) Th\000o@as
substring(string [from int ] [for int ]) bytea ¼­ºê½ºÆ®¸µÀ» ÃßÃâÇÕ´Ï´Ù. substring(E'Th\\000omas'::bytea from 2 for 3) h\000o
trim([both] bytes from string) bytea ¹®ÀÚ¿­stringÀÇ ¼±µÎ·ÎºÎÅÍ ¸»¹Ì±îÁöbytesÀÇ ¹ÙÀÌÆ®¸¸À» Æ÷ÇÔÇÑ ÃÖÀåÀÇ ¹®ÀÚ¿­À» »èÁ¦ÇÕ´Ï´Ù. trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea) Tom

ÀÌ ¿Ü,Table 9-9¿¡ ¿­°ÅÇÏ´Â ¹ÙÀ̳ʸ®¿­Á¶ÀÛ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±× Áß ¸î °³´Â,Table 9-8±×¸®°í ¼³¸íÇÑ Ç¥ÁØSQLÀÇ ¹®ÀÚ¿­ ÇÔ¼ö¸¦ ½ÇÇàÇϱâ À§Çؼ­ ³»ºÎÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.

Table 9-9. ±× ¿ÜÀÇ ¹ÙÀ̳ʸ® ¹®ÀÚ¿­ ÇÔ¼ö

ÇÔ¼ö ¹Ýȯ°ªÇü ¼³¸í ¿¹ °á°ú
btrim(string bytea, bytes bytea) bytea bytes·Î ÁöÁ¤µÈ ¹ÙÀÌÆ®¸¸À» °¡Áö´Â ÃÖÀåÀÇ ¹®ÀÚ¿­À»stringÀÇ ¼±µÎ¿Í ¸»¹Ì·ÎºÎÅÍ »èÁ¦ÇÕ´Ï´Ù. btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea) trim
decode(string text, type text) bytea ÀÌÀü¿¡encode·Î ÀÎÄÚµåµÈstring¸¦ ¹ÙÀ̳ʸ® ¹®ÀÚ¿­·Î º¹È£È­ ÇÕ´Ï´Ù. ÆÄ¶ó¹ÌÅÍÇüÀºencodeÀÇ ÁöÁ¤°ú °°½À´Ï´Ù. decode(E'123\\000456', 'escape') 123\000456
encode(string bytea, type text) text ¹ÙÀÌÆ® ¹®ÀÚ¿­À»ASCII¸¸ÀÇ Ç¥Çö¿¡ ÀÎÄÚµåÇÕ´Ï´Ù. Áö¿øµÇ´Â ÇüÅ´Âbase64,hex, ¹×escapeÀÔ´Ï´Ù encode(E'123\\000456'::bytea, 'escape') 123\000456
length(string) int ¹ÙÀ̳ʸ® ¹®ÀÚ¿­ÀÇ ±æÀÌ length(E'jo\\000se'::bytea) 5
md5(string) text stringÀÇ MD5ÀÇ ÇØ½Ã¸¦ °è»êÇØ, °á°ú¸¦ 16 Áø¼ö·Î ¹ÝȯÇÕ´Ï´Ù. md5(E'Th\\000omas'::bytea) 8ab2d3c9689aaf18 b4958c334c82d8b1