9.10. ФÑнкÑии Ð´Ð»Ñ Ð¿ÐµÑеÑиÑлений #
ÐÐ»Ñ Ñипов пеÑеÑиÑлений (опиÑаннÑÑ Ð² Разделе 8.7) пÑедÑÑмоÑÑено неÑколÑко ÑÑнкÑий, коÑоÑÑе позволÑÑÑ ÑделаÑÑ ÐºÐ¾Ð´ ÑиÑе, не «заÑиваÑ» в нÑм конкÑеÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¿ÐµÑеÑиÑлениÑ. ÐÑи ÑÑнкÑии пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² ТаблиÑе 9.35. Ð ÑÑÐ¸Ñ Ð¿ÑимеÑÐ°Ñ Ð¿Ð¾Ð´ÑазÑмеваеÑÑÑ, ÑÑо пеÑеÑиÑление Ñоздано Ñак:
CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple');ТаблиÑа 9.35. ФÑнкÑии Ð´Ð»Ñ Ð¿ÐµÑеÑиÑлений
ÐамеÑÑÑе, ÑÑо за иÑклÑÑением ваÑианÑа enum_range Ñ Ð´Ð²ÑÐ¼Ñ Ð°ÑгÑменÑами, ÑÑи ÑÑнкÑии не обÑаÑаÑÑ Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ðµ на конкÑеÑное пеÑеданное им знаÑение; иÑ
инÑеÑеÑÑÐµÑ ÑолÑко обÑÑвленнÑй Ñип. Ðни возвÑаÑаÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ ÑезÑлÑÑаÑ, когда им пеÑедаÑÑÑÑ NULL или лÑбое дÑÑгое знаÑение Ñипа. ÐбÑÑно ÑÑи ÑÑнкÑии пÑименÑÑÑÑÑ Ðº ÑÑолбÑам ÑаблиÑÑ Ð¸Ð»Ð¸ аÑгÑменÑам внеÑниÑ
ÑÑнкÑий, а не к пÑедопÑеделÑннÑм Ñипам, как в ÑÑиÑ
пÑимеÑаÑ
.