PostgreSQL에서 문자열을 배정도로 변환하는 방법은 무엇입니까? [닫은]


19

PostgreSQL에서 문자열을 배정도로 변환하는 방법은 무엇입니까?

나는 다음과 같은 것을 시도했다 :

update points set latitude2 = cast(latitude as double) ;

위도는 문자열이고 위도 2는 2 배입니다. 나는 그것을 작동시킬 수 없다.


6
" 작동 할 수 없습니다 "는 유효한 Postgres 오류 메시지가 아닙니다. 완전한 오류를 게시하십시오 (또는 정확히 작동하지 않는 것을 설명하십시오)
a_horse_with_no_name

Eww 이것은 경도와 위도에 대해 묻기 때문에 어쨌든 복식으로 저장해서는 안되기 때문에 다른 이유로 정말 나쁜 질문입니다.
Evan Carroll

답변:


42

double postgres 데이터 유형이 아닙니다 :

select cast('324342' as double);
오류 : "double"유형이 존재하지 않습니다
라인 1 : 캐스트 ( '324342'를 이중으로 선택);
                                ^

그러나 double precision:

select cast('132342' as double precision);
| float8 |
| : ----- |
| 132342 |

그래서 시도하십시오 :

update points set latitude2 = cast(latitude as double precision) ;

원하는 경우 문서 에 따라 float*를 대신 사용할 수 있습니다 .

지정된 정밀도가없는 float는 배정 밀도를 의미합니다.

select cast('132342' as float);
| float8 |
| : ----- |
| 132342 |

db <> 바이올린 여기


* 또는 float(n)25 <= n <= 53 은 배정 밀도를 의미 하기 때문에

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.