У меня есть таблицы SQL, какSQL тест, если ARRAY содержит целое число
CREATE TABLE Test (ContentArray INTEGER ARRAY)`.
I can insert an column with `INSERT INTO Test (ContentArray) VALUES (ARRAY[1,2,3,4])
Но я не знаю, как получить все столбцы, где ContentArray
содержит целое число 3.
Например:
INSERT INTO Test (ContentArray) VALUES (ARRAY[1,2])
INSERT INTO Test (ContentArray) VALUES (ARRAY[3,4])
INSERT INTO Test (ContentArray) VALUES (ARRAY[4,5])
INSERT INTO Test (ContentArray) VALUES (ARRAY[5,6])
SELECT ContentArray FROM Test WHERE /* ContentArray contains 5 and 6 */
должен вернуть ARRAY[5,6]
.
Какой RDMBS вы используете? –
Не знаете, какую СУБД вы используете, но почти всегда плохая идея использовать типы данных массива для полей в реляционной базе данных. Лучший выбор - сохранить эти значения в качестве дочерних элементов главной таблицы, тогда ваш запрос станет простым. –
Я использую HSQLDB – mohe2015