Parameter: Array sourceArray,
Array subArray
Gibt boolean zurück:
TRUE, wenn sourceArray alle Elemente von subArray enthält.
OR ELSE false
Ich habe die Funktion deklariert:
Code: Select all
CREATE ALIAS IF NOT EXISTS array_contains_all AS '
boolean arrayContainsAll(java.util.HashSet sourceArray, java.util.HashSet subArray) {
return sourceArray.containsAll(subArray);
}';
Code: Select all
SELECT array_contains_all (Array['HELLO', 'WORLD', 'FRIEND'], Array['HELLO', 'WORLD']);
Aber es wird ein Fehler ausgegeben:
Hexadezimale Zeichenfolge enthält Nicht-Hex-Zeichen: „[HALLO, WELT, FREUND]“.
Dann habe ich versucht:
Code: Select all
CREATE ALIAS IF NOT EXISTS array_contains_all AS '
boolean arrayContainsAll(java.sql.Array sourceArray, java.sql.Array subArray) {
java.util.List sourceArrayList = java.util.Arrays.asList((Object[]) sourceArray.getArray());
java.util.List subArrayList = java.util.Arrays.asList((Object[]) subArray.getArray());
return sourceArrayList.containsAll(subArrayList);
}';
Hexadezimale Zeichenfolge enthält Nicht-Hex-Zeichen: „[HALLO, WELT, FRIEND ]".
Wie kann ich das korrigieren?