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
운영게시판
최근게시물
Oracle Q&A 40545 게시물 읽기
No. 40545
연산 계산하는 코딩 부탁드립니다ㅠ!
작성자
신종민(calin0606)
작성일
2014-07-29 13:34
조회수
7,609

간단한데 아직 초보라서 잘 모르겠네ㅠ

 

예를 들어서

 

(3*2 +3) / 3 = 3 이나오게 PL/SQL로 짜면 어떻게 해야 합니까?

 

그리고 계산했는데 소수점이 나오는 경우

(3*2 +3) /2 = 4.5 이렇게 결과가 나와야 합니다.

 

그런데 계산식 안에 숫자 입력이 매번 다르기 때문에

 

(계산식) = 1.234 나오면 저렇게 나와야 하고

(계산식) = 0.1 나와도 이렇게 나와야 하고

(계산식) = 0.0023 나와도 이렇게 결과가 나와야 하는데

 

어떤식으로 짜면 되는걸까요? 도와주세요ㅜㅜ

 

이 글에 대한 댓글이 총 1건 있습니다.

-- 1. PL/SQL 에서 Execute Immediate 를 이용.
DECLARE
    x VARCHAR2(100) := '(3*2 +3) / 3';
    y NUMBER;
BEGIN
    EXECUTE IMMEDIATE('SELECT '||x||' FROM dual') INTO y;
    dbms_output.put_line(x||' = '||y);
END;
/


-- 2. SQL 에서 dbms_xmlgen 을 이용.
SELECT x
     , TO_NUMBER(
       dbms_xmlgen.getxmltype(
       'SELECT '||x||' FROM dual'
       ).Extract('//text()')
       ) y
  FROM (SELECT '(3*2 +3) / 3' x FROM dual)
;

마농(manon94)님이 2014-07-29 14:50에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40549SQL에서 YYYYMMDD 하고 RRRRMMDD 의 차이를 알고 싶네요? [2]
일쌍다반사
2014-08-01
10422
40547쿼리 질문 드립니다. [1]
게스트
2014-07-29
7970
40546오라클 소수점 표시 이상하네요 [1]
캔디
2014-07-29
8273
40545연산 계산하는 코딩 부탁드립니다ㅠ! [1]
신종민
2014-07-29
7609
40544세로데이터를 콤마추가해서 가로로 변경.... [1]
류시형
2014-07-29
9025
40543카운트와 컬럼 통합시키기 질문 입니다. [2]
새터니
2014-07-28
8210
40542PL/SQL 질문입니다.
김우빈
2014-07-28
7636
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.024초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다