В моей таблице есть значения с польскими диакритическими знаками. Я хочу запросить его и отсортировать результат в правильном порядке. Для этого мне нужно сопоставление, но я не знаю, как использовать его в базе данных SAP Hana.
Таблица испытаний
CREATE COLUMN TABLE TEST_ORDER_BY (
ID BIGINT null,
PL_VALUE VARCHAR (20) null,
DE_VALUE VARCHAR (20) null
);
INSERT INTO TEST_ORDER_BY VALUES(1,'Aaa','Straße');
INSERT INTO TEST_ORDER_BY VALUES(2,'aaa','Strasse');
INSERT INTO TEST_ORDER_BY VALUES(3,'Bbbb','Strase');
INSERT INTO TEST_ORDER_BY VALUES(4,'bbbb','Strasze');
INSERT INTO TEST_ORDER_BY VALUES(5,'Ąaa','Aaa');
INSERT INTO TEST_ORDER_BY VALUES(6,'ąaa','ßStrae');
INSERT INTO TEST_ORDER_BY VALUES(7,'zz','Zzzz');
INSERT INTO TEST_ORDER_BY VALUES(8,'zaąa','aaa');
INSERT INTO TEST_ORDER_BY VALUES(9,'zaąz','bbb');
INSERT INTO TEST_ORDER_BY VALUES(10,'zabz','Strasße');
SQL-запрос
SELECT id, pl_value
FROM TEST_ORDER_BY
ORDER BY pl_value ASC;
Результат
ID PL_VALUE
1 Aaa
3 Bbbb
2 aaa
4 bbbb
10 zabz
8 zaąa
9 zaąz
7 zz
5 Ąaa
6 ąaa
Ожидаемый результат
ID PL_VALUE
---------- --------------------
1 Aaa
2 aaa
5 Ąaa
6 ąaa
3 Bbbb
4 bbbb
8 zaąa
9 zaąz
10 zabz
7 zz
Что мне нужно, так это a
, за которым следует ą
и то же самое для других диакритических знаков, таких как ęóśłżźń
.
Я нашел представление M_COLLATIONS
в базе данных (без полированной сортировки) и столбец COLLATION
в представлении TABLE_COLUMNS
, но я не знаю, как установить его для указанного столбца.
Что я могу сделать?
@ cgage1 проверьте это answers.sap.com/questions/606548/…
Несмотря на то, что в системном представлении есть параметры сортировки, пока что HANA не поддерживает. (2.03.33) Я предполагаю, что это представление будет использоваться с функцией в более поздней версии HANA.
Вы знаете, была ли когда-нибудь введена функция сопоставления?