database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 9911 게시물 읽기
No. 9911
postgres초보 테이블 조회 관련
작성자
postgres
작성일
2017-11-15 15:27
조회수
7,090

안녕하세요 테이블 관려 질문사항이 있어 올려봅니다..

 

 test_db=# select * from testtb;

 table_name | table_size
-----------------+------------
      A            | 0 bytes
      B            | 403 bytes
(2 rows)
 
public.testtb라는 테이블이 와 같이 있는데
비교연산자를 사용해
 
select *
from testtb
where table_size > 0 bytes;
 
이런식으로 table_size 컬럼이 0보다 큰(초과) 인 경우만 출력을 하고 싶은데
문제는 table_size컬럼이 숫자형이 아닌 text형입니다.
 
text형 컬럼인 table_size 컬럼 값으로 위와 같은 비교연산자를 통한 부분조회가 가능한가요?
이 글에 대한 댓글이 총 6건 있습니다.

with testtb as (

select 'a' table_name, '0 bytes' table_size

union all

select 'b', '403 bytes'

)

select table_size from testtb

where translate(table_size,'0123456789'||table_size,'0123456789')::numeric>0

;

 

이런식으로 할순있습니다.

김주왕(kimjuking)님이 2017-11-15 16:59에 작성한 댓글입니다.

답변 감사합니다.

 올려주신 쿼리 union구문쪽에 각 row의 정보를 적어주셨는데

 row가 80row정도 있다면 어떻게 하나요? 80개를 일일이 전부 입력해주어야 하나요?

postgres님이 2017-11-15 17:05에 작성한 댓글입니다.
이 댓글은 2017-11-15 17:05에 마지막으로 수정되었습니다. Edit

testtb라는 테이블이 있으신거 아닌가여?

저는 없어서 그냥 with절로 구현한건데..

김주왕(kimjuking)님이 2017-11-15 17:12에 작성한 댓글입니다.

아 위에 쿼리는 테이블 구현하는 구문이군요 ㅠ

select table_size from testtb

where translate(table_size,'0123456789'||table_size,'0123456789')::numeric>0;

 

이게 실제 명령이네요!

여기서 where절이 어떻게 동작되는거죠? ㅠ 설명좀 부탁드립니다..

table_size컬럼이 2개가 들어갔는데, 해당 테이블의 row 수만큼 들어가는건가요?

postgres님이 2017-11-15 17:18에 작성한 댓글입니다. Edit

translate 란 함수를 이용해서 숫자만 추출하는건데 함수는 메뉴얼을 참조하시길 바랍니다 ㅋ

김주왕(kimjuking)님이 2017-11-16 08:29에 작성한 댓글입니다.

궁금하시면 Select 절에 넣어 결과를 확인해 보세요.

SELECT table_size
     , TRANSLATE(table_size,'0123456789'||table_size,'0123456789')::numeric x
  FROM testtb
;

그리고 table_size 의 유형이 한가지 뿐인지 확인해 보세요.
컴마나 소수점 이 들어가는 것은 없는지?
bytes 외에 Kbytes 나 Gbytes 같은 자료는 없는지?

마농(manon94)님이 2017-11-16 09:26에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
9914HA 질문드립니다 [4]
검콤이
2017-11-20
6445
9913postgresl에서 테이블 FK조회 [2]
postgres
2017-11-20
7143
9912postgresql 에는 statistics 을 확인할수없나요? [1]
궁금
2017-11-20
6744
9911postgres초보 테이블 조회 관련 [6]
postgres
2017-11-15
7090
9910PostgreSQL 버전 관련 질문드립니다. [2]
이창기
2017-11-13
7021
9908테이블 용량 확인 쿼리 [3]
postgres
2017-11-10
7712
9907윈도우 postgre 설치시 오류 질문드립니다 ㅠ [4]
디비
2017-11-09
8813
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.048초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다