�����ł��B
�i�g�p���Ă��� PostgreSQL �� PostgreSQL 9.3.12 �ł��j
PostgreSQL �� �z����e�[�u���̂悤�Ɉ������@�ł��B �f�[�^�̈ꊇ�o�^��A���̃e�X�g�Ȃǂɕ֗��ł��B
�܂��A�z��̒�`�͎��̂悤�ɂȂ�܂��B
'{value1,value2,value3}'
ARRAY ���Z�\�����g���Ǝ��̂悤�ɂȂ�܂��B
ARRAY['value1','value2','value3']
����͂܂� ARRAY ���Z�\���̕��� SQL �Ŏg�p���܂��B
SELECT field1::VARCHAR
FROM UNNEST(ARRAY['value1','value2','value3']) AS field1;
�g���܂킵���ǂ��悤�� FROM ��Ŏg�p���Ă��܂��B
�|�C���g�� UNNEST ���ł��B UNNEST �����g�p����� �z����s�W���ɓW�J���邱�Ƃ��ł��܂��B
[�Q�l]
9.18. �z����Ɖ��Z�q - PostgreSQL 9.3.2����
SQL �̎��s���ʂ͎��̂悤�ɂȂ�܂��B
db=# SELECT field1::VARCHAR db-# FROM UNNEST(ARRAY['value1','value2','value3']) AS field1; field1 -------- value1 value2 value3 (3 rows)
������g���� ���悤�� SQL �Ŏg�p������̃e�X�g�p SQL ���ȒP�ɍ��܂��B
SELECT field1::VARCHAR, test_function(field1::VARCHAR) AS result
FROM UNNEST(ARRAY['value1','value2','value3']) AS field1;
�����܂ł͈ꎟ���z��ł����B
�z����e�[�u���̂悤�Ɉ����̂� �� 1 �ł͍���܂��ˁB
�����A2 �����z��ɂ���ƈ������ʓ|�ɂȂ邽�� �z��̕������`�� ARRAY ���Z�\����g�ݍ��킹�� ���̂悤�ɒ�`���܂��B
ARRAY['{100,value1,2018/10/01}','{200,value2,2018/10/02}']
����� SQL �Ŏg���܂��B
SELECT (fields::VARCHAR[])[1]::NUMERIC AS field1 , (fields::VARCHAR[])[2]::VARCHAR AS field2 , (fields::VARCHAR[])[3]::DATE AS field3 FROM UNNEST(ARRAY['{100,value1,2018/10/01}' ,'{200,value2,2018/10/02}']) AS fields;
�|�C���g�� "fields" �ɔz��̕������`������̂� ����� "VARCHAR[]" �ŃL���X�g���܂��B
SQL �̎��s���ʂ͎��̂悤�ɂȂ�܂��B
db=# SELECT (fields::VARCHAR[])[1]::NUMERIC AS field1 db-# , (fields::VARCHAR[])[2]::VARCHAR AS field2 db-# , (fields::VARCHAR[])[3]::DATE AS field3 db-# FROM UNNEST(ARRAY['{100,value1,2018/10/01}' db-# ,'{200,value2,2018/10/02}']) AS fields; field1 | field2 | field3 --------+--------+------------ 100 | value1 | 2018-10-01 200 | value2 | 2018-10-02 (2 rows)
�l�ɃJ���}���g�p����ꍇ�� ���̂悤�ɃG�X�P�[�v���܂��B
ARRAY['{100,val\,ue1,2018/10/01}','{200,value2,2018/10/02}']