Обновление значения в OrientDB устанавливает массив как значение

Я попытался выполнить следующую команду:

UPDATE EN190 
set Sys_DisplayTitle = (SELECT EP190_1 FROM EN190 WHERE Sys_ID = 4705)
WHERE Sys_ID = 4706

Значение (SELECT EP190_1 FROM EN190 WHERE Sys_ID = 4705) представляет собой строку:

SomeValue

и это то, что я ожидал быть (ВЫБЕРИТЕ EP190_1 ОТ EN190, ГДЕ Sys_ID = 4706)
но значение в этом поле теперь является следующей строкой:

[SomeValue]

Как я могу решить это?

2 ответа

Решение

Не очень "чистое" решение, но оно работает.

UPDATE EN190 set Sys_DisplayTitle = (SELECT EP190_1 FROM EN190 WHERE Sys_ID = 4705),
Sys_DisplayTitle= Sys_DisplayTitle.replace("[","").replace("]","")
WHERE Sys_ID = 4706

(см. /questions/42975803/orientdb-kak-obnovit-stolbets-s-pomoschyu-zaprosa-vyibora/42975808#42975808)

Следующий запрос SELECT EP190_1 FROM EN190 WHERE Sys_ID = 4705вернуть список, а не строку

Другие вопросы по тегам