PostgreSQL �� �z����e�[�u���̂悤�Ɉ���

�����ł��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}']

Google �T�C�g������

Amazon�A�\�V�G�C�g