Запрос не возвращает значение, потому что значение не существует в ваш стол. Возможно, ваша таблица содержит то, что выглядит одинаково, но содержит пробелы или другие неприменимые символы. И это не имеет ничего общего с VARCHAR (100) и NVARCHAR (100) в HANA afaik. VARCHAR (100) может содержать 100 символов ASCII и 100 или менее символов Unicode, в зависимости от того, сколько символов с символами UTF8 или более байт включено в строку. NVARCHAR (100) может содержать 100 символов Unicode. Вот пример:
create column table "TABLE"
(COLUMN_1 NVARCHAR(100) PRIMARY KEY,
COLUMN_2 NVARCHAR(100));
Insert into "TABLE" (Column_1, Column_2) values ('Test', '104312'); -- will be found
Insert into "TABLE" (Column_1, Column_2) values ('Test ', '104312'); --will not be found, space
Insert into "TABLE" (Column_1, Column_2) values ('Test' || nchar(13), '104312'); --will not be found, non-printable
Select * from "TABLE"; -- will list all three entries
SELECT * FROM "TABLE" --will list only the first entry
WHERE (CONCAT("COLUMN_1", "COLUMN_2") = 'Test104312');
Кроме того, синтаксис используется для цитирования identifieres с помощью скобок не работает в HANA (или есть некоторая особенность, которую я не знаю,), скобки могут использоваться в MS-SQL. Экзамен работает как в хранилище строк, так и столбцов. Трюк, чтобы обнаружить непечатаемые символы, - это вырезать результат из HANA Studio и передать его в блокнот ++.
'SELECT CONCAT (col1, col2) FROM TABLE' возвращает' Test104312'? – sagi
есть ли пробел_? так что вам нужно обрезать? –