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 2745 게시물 읽기
No. 2745
Re: Re: 연산자 이야기 (감사합니다.)
작성자
신현호
작성일
2001-05-15 12:21
조회수
4,968

>>김상기 님께서 쓰시길<<

 

:: 이 이야기를 하기 전에 먼저 numeric 자료형에 대한 이야기를

:: 간단히 언급해야할 것같습니다.

:: 이 놈은 문자열과 숫자형이 교묘하게 섞여있는 컴차원에서는 문자열이고,

:: 사용자 입장에서는 숫자형인 자료형입니다.

:: 어떻게 저장 되냐면, 전체 name 자료형의 크기(32byte)만큼 할당을 하는데,

:: 25byte는 문자열로 정수 부분 1byte는 점(.) 6byte는 소숫점이하 6자리, 나머지 하나

:: 는 문자열 끝인 null 값이 들어갑니다.

::

:: psql 클라이언트를 사용하신다면, \do 명령으로 연산자의 사용법을

:: 살펴 볼 수 있습니다. 예를 들어 % (나머지 연산) 이놈을 예로 들어보면,

::

:: # \do %

:: 명령을 보면, % 연산자의 인자와 리턴 자료형과 설명을 알 수 있습니다.

:: 실수 % 실수 형의 연산은 사용자입장에서 본다면, float형이 numeric이라는 의사(psud

:: o)자료형으로 형변환을 해야지 가능합니다. (컴 입장에 대한 이야기는 생략하겠습니

:: 다. PostgreSQL의 numeric 자료형은 좀 특수한 케이스인자라)

:: 아무튼 그래서 아래 3번의 경우는

:: 다음과 같은 형태로 처리가 됩니다.

:: 1. 10.0 % 3.0 => float8 /> numeric % float8 /> numeric => numeric

:: 2. 10.0 / 1.000000 => float8 /> numeric / numeric => numeric

::

:: 이 과정으로 처리가 됩니다.

:: 글로 표현되니 좀 이상한데, 아무튼 % 연산자의 float8 으로 처리 되지 못하고,

:: numeric으로 처리 되는 부분은 조금만 더 생각해보시면 쉽게 이해가 가실겝니다.

::

:: 지금까지를 정리하면,

:: 자료형 연산자에 대한 연자 오류나 형변환의 문제가 아니라,

:: 서버 차원의 좀더 깊이있는 이해가 부족한 것인듯 싶습니다.

 

감사합니다.

numeric 자료형에 대해서는 어떤 의미인지는 알겠습니다.

alter table a add c numeric(50,10);

라고 해 보고 numeric 자료형의 사용처가 상상이 갑니다.(한동안 자주 나오던 스트링을 사용한

무한자료형(?)의 일종이군요. 가변형은 아니지만.)

 

근데요. 여전히 이해가 가지 않는것이...

상기님 말씀대로 \do %를 해보고 나서

float가 numeric으로 전환된후 계산이 된다는 것을 알게는 되었는데...

왜 유독 % 만이 numeric을 유지한체로 리턴이

되는지는 아직 이해가 가지 않는군요.(제 머리의 한계...)

아마도 말씀하신 '컴 입장'의 문제가 아닌가도 합니다만... 언제 시간이 나시면 그 녀석(?)의 사정도 알려주시면 감사하겠습니다.

 

인천의 나사 풀린 산호...

[Top]
No.
제목
작성자
작성일
조회
2749비슷한 문자열을 찾는 쿼리.. --;
이태웅
2001-05-15
2713
2753┕>Re: 비슷한 문자열을 찾는 쿼리.. --;
정재익
2001-05-15 18:18:17
3092
2747버전에 따른 속도 개선이 있나요.
강상우
2001-05-15
2958
2748┕>Re: 버전에 따른 속도 개선이 있나요.
정재익
2001-05-15 14:40:10
3310
2746오묘한 printf() ??
이태웅
2001-05-15
2809
2741묘한 수식 (중간 보고...)
신현호
2001-05-15
3858
2743┕>Re: 묘한 수식 (중간 보고...)
정재익
2001-05-15 09:07:48
4208
2744┕>Re: 연산자 이야기
김상기
2001-05-15 11:05:55
4636
2745 ┕>Re: Re: 연산자 이야기 (감사합니다.)
신현호
2001-05-15 12:21:53
4968
2734[질문] rowid같이 해당되는 레코드를 바로 액세스하려면??
이병기
2001-05-14
3961
2737┕>Re: [질문] rowid같이 해당되는 레코드를 바로 액세스하려면??
정재익
2001-05-14 18:50:35
3961
2742 ┕>Re: Re: [질문] rowid같이 해당되는 레코드를 바로 액세스하려면??
이태웅
2001-05-15 08:59:51
4085
2729테이블의 존재여무를 알수있는 쿼리는..알려주세요..
정철희
2001-05-14
3848
2731┕>Re: 시스템 카탈로그를 사용하는 방법이 있습니다.
신현호
2001-05-14 10:24:27
4151
2732┕>Re: 테이블의 존재여무를 알수있는 쿼리는..알려주세요..
정철희
2001-05-14 12:33:31
4187
2733 ┕>Re: Re: 테이블의 존재여무를 알수있는 쿼리는..알려주세요..
정재익
2001-05-14 13:50:13
3986
2725묘한 수식 계산...
신현호
2001-05-14
3764
2726┕>Re: 묘한 문자열 처리...
이태웅
2001-05-14 09:26:18
4010
2727 ┕>Re: Re: 묘한 문자열 처리...
신현호
2001-05-14 10:11:38
4031
2730  ┕>어라? 오동작? 실수?
신현호
2001-05-14 10:13:09
4050
2728 ┕>Re: Re: 묘한 문자열 처리...
신현호
2001-05-14 10:11:38
3812
2735 ┕>Re: Re: 묘한 문자열 처리...
삐진앙마
2001-05-14 16:41:45
3856
2736  ┕>Re: Re: Re: 묘한 문자열 처리...
삐진앙마
2001-05-14 16:50:41
4100
2751 ┕>Re: Re: 묘한 문자열 처리...
가우
2001-05-15 16:20:02
4044
2738┕>Re: 제 생각에는....
김일형
2001-05-15 03:13:23
3922
2739 ┕>Re: Re: 제 생각에는....
신현호
2001-05-15 05:56:19
4021
2740  ┕>Re: Re: Re: 잘못아신듯 싶습니다.
김상기
2001-05-15 06:54:34
4310
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다