В моей БД есть столбец varchar. Он должен иметь такие значения, как «43», «43000», «50000» и т. Д., Но иногда он может иметь значения, такие как «43, 000», «50, 00,000» и т. Д., А также иногда иметь значения мусора с другими символами.
То, что я хочу сделать, сначала замените все ','
из значений, затем попытайтесь преобразовать его в int
, в случае успеха верните это значение int
. В противном случае верните null
. Я пытаюсь написать для него Python UDF, но, похоже, это не работает. Вот оно:
create or replace function isnumeric (aval VARCHAR(20000))
returns int
IMMUTABLE
as $$
try:
aval = aval.replace(',','');
x = int(aval);
return x;
except:
return (1==2);
return null;
$$ language plpythonu;
select
isnumeric(field1)
from
table
limit 10000
Может кто-нибудь помочь мне, пожалуйста ??