이 기사는 Oracle에 대한 관련 지식을 제공하며 Oracle에서 일반적으로 사용되는 기능을 자세히 설명하고 이를 샘플 코드를 통해 소개합니다. 모든 사람의 학습이나 업무에 도움이 되기를 바랍니다. 모두에게.
추천 튜토리얼: "Oracle Video Tutorial"
오라클 데이터베이스에서 사용되는 함수에는 두 가지 주요 유형이 있습니다:
1 단일 행 함수: 한 행의 데이터를 연산하고 결과를 반환합니다.
2. 집계 함수(다중 행 함수, 그룹 함수, 그룹 함수): 여러 행의 데이터에 대해 작동하고 결과를 반환합니다. 예를 들어 SUM
문자 함수는 문자 매개변수를 허용합니다. 이러한 매개변수는 테이블의 열이거나 문자열 표현식일 수 있습니다.
일반적으로 사용되는 문자 함수:
함수 | 설명 |
ASCII(X) | 문자의 ASCII 코드를 반환합니다. |
INSTR(X,STR[,START][,N) | 길이에서 str 찾기 |
LOWER(X) | X는 소문자로 변환됩니다 |
UPPER(X) | X는 대문자로 변환됩니다 |
LTRIM(X[,TRIM_STR]) | Truncate 문자열의 왼쪽, 공백은 기본적으로 잘립니다. |
RTRIM(X[,TRIM_STR]) | Trim_str 문자열, 공백은 기본적으로 잘립니다. |
TRIM([TRIM_STR FROM]X) | trim_str을 자릅니다. ,length]) |
SELECT ASCII('a') FROM double; | |
SELECT CONCAT('Hello','world') FROM double;의 문자열을 반환합니다. ” 안녕하세요') FROM 듀얼; | |
SELECT UPPER ('hello') FROM 듀얼; | |
SELECT LTRIM('=Hello=','=') FROM 듀얼; |
SELECT TRIM('='FROM'=Hello=') FROM 듀얼; | |
SELECT REPLACE('ABCDE','CD','AAA' )FROM 듀얼; | |
SELECT SUBSTR('ABCDE',2,3) FROM 듀얼; | |
2. 숫자 함수 | |
숫자 함수는 숫자 매개변수를 허용하며 매개변수는 테이블의 열 또는 숫자 표현식에서 가져올 수 있습니다. | |
Explanation | Example |
ABS(X) | 문자열의 절대값 |
COS(X) | |
COS(1 )=0.54030230586814 | |
은 X | CEIL(5.4)= 6 |
FLOOR(X) | 의 최소값보다 크거나 같습니다. 의 최대값, 4)=2 |
MOD(X,Y) | X를 Y |
ROUND(X[,Y]) | X는 Y번째 위치에서 반올림됩니다 | ||||||||||||||||||||||||||||||||||||||||
SQRT(X) | 의 제곱근 지침:
在缺省 y 时,默认 y=0;比如:ROUND(3.56)=4。 y 是正整数,就是四舍五入到小数点后 y 位。ROUND(5.654,2)=5.65。 y 是负整数,四舍五入到小数点左边|y|位。ROUND(351.654,-2)=400。
在缺省 y 时,默认 y=0;比如:TRUNC (3.56)=3。 Y是正整数,就是四舍五入到小数点后 y 位。TRUNC (5.654,2)=5.65。 y 是负整数,四舍五入到小数点左边|y|位。TRUNC (351.654,-2)=300。 三、日期函数日期函数对日期进行运算。常用的日期函数有:
d 表示日期,n 表示要加的月数。 例: SELECT SYSDATE,add_months(SYSDATE,5) FROM dual; 로그인 후 복사
例: SELECT SYSDATE,last_day(SYSDATE) FROM dual; 로그인 후 복사
模型。默认 fmt 为 DDD,即月中的某一天。
例: SELECT SYSDATE,ROUND(SYSDATE),ROUND(SYSDATE,'day'), ROUND(SYSDATE,'month'),ROUND(SYSDATE,'year') FROM dual; 로그인 후 복사
与 ROUND 对应的函数时 TRUNC(d[,fmt])对日期的操作, TRUNC 与 ROUND 非常相似,只是不对日期进行舍入,直接截取到对应格式的第一天。 기본 y를 사용하는 경우 기본 y=0입니다(예: ROUND(3.56)=4). y는 양의 정수로 소수점 y자리에서 반올림됩니다. 라운드(5.654,2)=5.65. y는 음의 정수이며 소수점 왼쪽 |y|로 반올림됩니다. 라운드(351.654,-2)=400. 2. 기본 y를 사용하는 경우 기본 y=0입니다(예: TRUNC(3.56)=3).Y는 양의 정수이며 소수점 이하 y 자리로 반올림됩니다. TRUNC(5.654,2)=5.65. y는 음의 정수이며 소수점 왼쪽 |y|로 반올림됩니다. TRUNC (351.654,-2)=300. 3. 날짜 기능 날짜 기능은 날짜별로 동작합니다. 일반적으로 사용되는 날짜 함수는 1, ADD_MONTHS(d,n)이며, 특정 날짜 d에 지정된 개월 수 n을 더하고 계산된 새 날짜를 반환합니다. d는 날짜를 나타내고, n은 추가할 개월 수를 나타냅니다. 예:SELECT SYSDATE "date", EXTRACT(YEAR FROM SYSDATE)"year", EXTRACT(MONTH FROM SYSDATE)"month", EXTRACT(DAY FROM SYSDATE)"day", EXTRACT(HOUR FROM SYSTIMESTAMP)"hour", EXTRACT(MINUTE FROM SYSTIMESTAMP)"minute", EXTRACT(SECOND FROM SYSTIMESTAMP)"second" FROM dual; 로그인 후 복사
代码演示:TO_CHAR对数字的处理 SELECT TO_CHAR(-123123.45,'L9.9EEEEPR')"date" FROM dual; 로그인 후 복사 로그인 후 복사
把一个字符串以fmt格式转换成一个日期类型
把一个字符串以fmt格式转换为一个数字 代码演示:TO_NUM函数 SELECT TO_NUMBER('-$12,345.67','$99,999.99')"num" FROM dual; 로그인 후 복사
五、其它单行函数
如果X为空,返回value,否则返回X 例:对工资是2000元以下的员工,如果没发奖金,每人奖金100元 代码演示:NVL函数 SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000; 로그인 후 복사 로그인 후 복사 ------------------------------------------------------------------- ENAME JOB SAL NVL(COMM,100) SMITH CLERK 800 100 ALLEN SALESMAN 1600 300 WARD SALESMAN 1250 500 MARTIN SALESMAN 1250 1400 TURNER SALESMAN 1500 50 ADAMS CLERK 1100 100 JAMES CLERK 950 100 ------------------------------------------------------------------- 7 rows selected
如果x非空,返回value1,否则返回value2 例:对EMP表中工资为2000元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元 代码演示:NVL2函数 SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm" FROM EMP WHERE SAL<2000; 로그인 후 복사 ------------------------------------------------------------------- ENAME JOB SAL comm SMITH CLERK 800 200 ALLEN SALESMAN 1600 400 WARD SALESMAN 1250 600 MARTIN SALESMAN 1250 1500 TURNER SALESMAN 1500 150 ADAMS CLERK 1100 200 JAMES CLERK 950 200 MILLER CLERK 1300 200 ------------------------------------------------------------------------------------------------------- 8 rows selected 六、聚合函数聚合函数同时对一组数据进行操作,返回一行结果,比如计算一组数据的总和,平均值等。
例:求本月所有员工的基本工资总和
SELECT SUM(sal) FROM emp; 로그인 후 복사 ------------------------------------------------------------------- SUM(SAL) 29025 例:求不同部门的平均工资
SELECT DEPTNO,AVG(SAL) FROM EMP GROUP BY DEPTNO; 로그인 후 복사 ------------------------------------------------------------------- DEPTNO AVG(SAL) --------- ---------- 30 1566.66666 20 2175 10 2916.66666 推荐教程:《Oracle视频教程》 |
위 내용은 Oracle에서 일반적으로 사용되는 기능을 요약하고 정리합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!