10.6. ÐÑÑ
однÑе ÑÑолбÑÑ SELECT #
ÐÑавила, опиÑаннÑе в пÑедÑдÑÑиÑ
ÑазделаÑ
, ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ð½Ð° пÑиÑваивание Ñипов даннÑÑ
, кÑоме unknown, во вÑеÑ
вÑÑажениÑÑ
в запÑоÑаÑ
SQL, за иÑклÑÑением беÑÑиповÑÑ
бÑквалÑнÑÑ
знаÑений, пÑинимаÑÑиÑ
вид пÑоÑÑÑÑ
вÑÑ
однÑÑ
ÑÑолбÑов ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SELECT. ÐапÑимеÑ, в запÑоÑе
SELECT 'Hello World';
ниÑÑо не говоÑÐ¸Ñ Ð¾ Ñом, какой Ñип должно пÑинимаÑÑ ÑÑÑоковое бÑквалÑное знаÑение. Ð ÑÑой ÑиÑÑаÑии PostgreSQL ÑазÑеÑÐ¸Ñ Ñип Ñакого знаÑÐµÐ½Ð¸Ñ ÐºÐ°Ðº text.
Ðогда SELECT ÑвлÑеÑÑÑ Ð¾Ð´Ð½Ð¾Ð¹ из веÑвей конÑÑÑÑкÑии UNION (или INTERSECT/EXCEPT) или когда он наÑ
одиÑÑÑ Ð²Ð½ÑÑÑи INSERT ... SELECT, ÑÑо пÑавило не дейÑÑвÑеÑ, Ñак как более вÑÑокий пÑиоÑиÑÐµÑ Ð¸Ð¼ÐµÑÑ Ð¿Ñавила, опиÑаннÑе в пÑедÑдÑÑиÑ
ÑазделаÑ
. РпеÑвом ÑлÑÑае Ñип беÑÑипового бÑквалÑного знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÑÑен из дÑÑгой веÑви UNION, а во вÑоÑом â из Ñелевого ÑÑолбÑа.
СпиÑки RETURNING в данном конÑекÑÑе воÑпÑинимаÑÑÑÑ Ñак же, как вÑÑ
однÑе ÑпиÑки SELECT.
ÐÑимеÑание
Ðо PostgreSQL 10 ÑÑого пÑавила не бÑло и беÑÑиповÑе бÑквалÑнÑе знаÑÐµÐ½Ð¸Ñ Ð² вÑÑ
одном ÑпиÑке SELECT оÑÑавалиÑÑ Ñ Ñипом unknown. ÐÑо имело ÑазлиÑнÑе негаÑивнÑе поÑледÑÑвиÑ, Ñак ÑÑо бÑло ÑеÑено ÑÑо измениÑÑ.