Функция кастинга улья - PullRequest
       18

Функция кастинга улья

0 голосов
/ 07 октября 2019

Как добавить в таблицу улья знак '-' в поле, но для случайных записей? Если я использую приведенный ниже синтаксис, он меняет все записи в поле на отрицательные, но я хочу изменить случайные записи на отрицательные.

Это синтаксис Iиспользуется, который изменил все записи на отрицательные:

CAST(CAST(-1 AS DECIMAL(1,0)) AS DECIMAL(19,2)) 
*CAST(regexp_replace(regexp_replace(TRIM(column name),'\\-',''),'-','') as decimal(19,2)),

1 Ответ

0 голосов
/ 07 октября 2019

Если вы хотите изменить случайные значения на отрицательные, почему бы не использовать выражение case?

select (case when rand() < 0.5 then - column_name else column_name end)

Несмотря на ваш запрос, это предполагает, что столбец является каким-то числом, потому что отрицание строкне имеет особого смысла.

...