it-source

Postgre의 일부로 정수를 문자열로 변환하는 방법SQL 쿼리?

criticalcode 2023. 5. 16. 22:44
반응형

Postgre의 일부로 정수를 문자열로 변환하는 방법SQL 쿼리?

Postgre의 일부로 정수를 문자열로 변환하는 방법SQL 쿼리?

예를 들어, 다음이 필요합니다.

SELECT * FROM table WHERE <some integer> = 'string of numbers'

어디에<some integer>길이는 1 ~ 15자리 범위일 수 있습니다.

숫자는 최대 15자리까지 가능하므로 64비트(8바이트) 정수로 캐스팅해야 합니다.사용해 보십시오.

SELECT * FROM table
WHERE myint = mytext::int8

::캐스트 연산자는 역사적이지만 편리합니다.또한 Postgres는 SQL 표준 구문을 준수합니다.

myint = cast ( mytext as int8)

문자 그대로의 텍스트가 있는 경우 비교할 수 있습니다.int배역을 정하다int텍스트로:

SELECT * FROM table
WHERE myint::varchar(255) = mytext

이 방법으로 문자열에 정수를 캐스팅할 수 있습니다.

intval::text

그래서 당신의 경우에는

SELECT * FROM table WHERE <some integer>::text = 'string of numbers'

다음과 같이 할 수 있습니다.

SELECT * FROM table WHERE cast(YOUR_INTEGER_VALUE as varchar) = 'string of numbers'

그리고 문자열로 저장할 수 있는 일부 정수가 소수점을 포함하고 있고 소수점과 소수점을 비교하고 싶다면, 아래는 도움이 될 것입니다.

select NULLIF('105.0', '')::decimal

SELECT * FROM table WHERE NULLIF('105.0', '')::decimal = 105.0

아래는 변환되지 않습니다.

select NULLIF('105.0', '')::int

select NULLIF('105.0', '')::integer

이 질문에 대해서는 그냥 지나칠 것입니다.

select 105.3::text 

언급URL : https://stackoverflow.com/questions/13809547/how-do-i-convert-an-integer-to-string-as-part-of-a-postgresql-query

반응형