предположим, что у вас есть таблица
tbl:([] id:("123"; ""; "invalid"))
и вы хотите разобрать эту строку в число.
Неверные значения - в приведенном выше примере как пустая строка "", так изначение «недопустимо», должно быть проанализировано до нуля (0Nj).
Как лучше всего это сделать?Мой первоначальный подход был
select id:.[value;;0Nj] each enlist each id from tbl
Но, хотя он будет правильно обрабатывать как «123», так и «недействительные» записи, он будет возвращать унарный оператор :: вместо нуля при попытке проанализировать строкус пустой строкой.
Конечно, я мог бы сделать что-то вроде
select id:.[value;;0Nj] each enlist each id from update id:string (count id)#`invalid from tbl where id like ""
, но это кажется немного уродливым / неэффективным.Есть ли лучший способ сделать это?
Спасибо