Я использую Hive 0.13, и у меня есть столбец STRING моих табличных значений, например 1.250,99
Я хочу, чтобы эти значения были децимальными, поэтому я должен заменить «. " по "" и "," по "." Результат будет 1250,99 Это мое HQL предложение:NULL при наборе значений строк в десятичное число в улье
cast(regexp_replace(regexp_replace(price, '\\.',''), ',','.') as decimal(18,6))
Но она возвращает NULL, я предполагаю, потому что преобразование не удастся. В чем проблема?
Если я не делаю преобразования, он возвращает ожидаемую строку.
UPDATE
Моя проблема заключалась в том, что там были белые места в колонне, поэтому он не может преобразовать его в десятичное значение. Перед выполнением преобразования я использовал функцию триммера.