미채택 완료

postgresql 질문입니다.

2020-02-24 (월) 13:57:16 2,120

오라클용을 postgresql로 변환하고 있습니다.

특정 컬럼이 숫자 아니면 ''값이 들어있는데- NULL아님.

''를 숫자 0으로 바꾸고 싶습니다.

cast(coalesce(replace(NULL, NULL, NULL), '1') as float) -> 에러 없음
cast(coalesce(replace('', '', NULL), '1') as float) -> 에러 없음
cast(coalesce(replace(123123, '', NULL), '1') as float) -> 에러

특정컬럼이 공백이 들어가있을경우 에러가 없는데

숫자가 들어가있는 경우 에러입니다.

[42883] ERROR: function replace(integer, unknown, unknown) does not exist Hint: No function matches the given name and argument types. You might need to add explicit type casts. Position: 142

숫자가 들어있지 않을때 0이 들어가게 하려고 한것인데

이제는 숫자가 들어가면 에러가 나네요..

뭐 좋은 방법 있을까요?

필드에는 숫자 아니면 ''이 들어갑니다.

|

답변 2개

2020-02-24 (월) 14:26:19

해결했습니다.

숫자형을 STRING으로 한번 더 케스팅했어요

2020-02-24 (월) 14:26:18

해결했습니다.

숫자형을 STRING으로 한번 더 케스팅했어요

답변을 작성하려면 로그인이 필요합니다.