数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

ORACLE常用傻瓜问题1000问全集(三)


发布日期:2020年02月23日
 
ORACLE常用傻瓜问题1000问全集(三)

/*+NOCACHE(TABLE)*/

当进行全表扫描时CACHE提示能够将表的检索块放置在缓沖区缓存中最近最少列表LRU的最近使用端

例如

SELECT /*+FULL(BSEMPMS) NOCAHE(BSEMPMS) */ EMP_NAM FROM BSEMPMS

/*+APPEND*/

直接插入到表的最后可以提高速度

insert /*+append*/ into test select * from test

/*+NOAPPEND*/

通过在插入语句生存期内停止并行模式来启动常规插入

insert /*+noappend*/ into test select * from test

ORACLE内部函数

如何得到字符串的第一个字符的ASCII值?

ASCII(CHAR)

SELECT ASCII(ABCDE) FROM DUAL

结果

如何得到数值N指定的字符?

CHR(N)

SELECT CHR() FROM DUAL

结果 D

如何连接两个字符串?

CONCAT(CHARCHAR)

SELECT CONCAT(ABCDEFGH) FROM DUAL

结果 ABCDEFGH

如何将列中的数值代替为字符串?

DECODE(CHARNCHARNCHAR)

SELECT DECODE(DAYSUNMON) FROM DUAL

INITCAP(CHAR)

将字符串CHAR的第一个字符为大写其余为小写

SELECT INITCAP(ABCDE) FROM DUAL

LENGTH(CHAR)

取一字符串CHAR的长度

SELECT LENGTH(ABCDE) FROM DUAL

LOWER(CHAR)

将字符串CHAR全部变为小写

SELECT LOWER(ABCDE) FROM DUAL

LPAD(CHARNCHAR)

用字符串CHAR包括的字符左填CHAR使其长度为N

SELECT LPAD(ABCDEFG) FROM DUAL

结果 ABCDEFG

LTRIM(CHARSET)

从字符串CHAR的左边移去字符串SET中的字符直到第一个不是SET中的字符为止

SELECT (CDEFGCD) FROM DUAL

结果 EFG

NLS_INITCAP(CHAR)

取字符CHAR的第一个字符大写其余字符为小写

SELECT NLS_INITCAP(ABCDE) FROM DUAL

NLS_LOWER(CHAR)

将字符串CHAR包括的字符全部小写

SELECT NLS_LOWER(AAAA) FROM DUAL

NLS_UPPER(CHAR)

将字符串CHAR包括的字符全部大写

SELECT NLS_UPPER(AAAA) FROM DUAL

REPLACE(CHARCHARCHAR)

用字符串CHAR代替每一个列值为CHAR的列其结果放在CHAR

SELECT REPLACE(EMP_NO) FROM DUAL

RPAD(CHARNCHAR)

用字符串CHAR右填字符串CHAR使其长度为N

SELECT RPAD() FROM DUAL

RTRIM(CHARSET)

移去字符串CHAR右边的字符串SET中的字符直到最后一个不是SET中的字符为止

SELECT RTRIM(ABCDEDE) FROM DUAL

SUBSTR(CHARMN)

得到字符串CHAR从M处开始的N个字符 双字节字符一个汉字为一个字符的

SELECT SUBSTR(ABCDE) FROM DUAL

SUBSTRB(CHARMN)

得到字符串CHAR从M处开始的N个字符 双字节字符一个汉字为二个字符的

SELECT SUBSTRB(ABCDE) FROM DUAL

TRANSLATE(CHARCHARCHAR)

将CHAR中的CHAR的部分用CHAR代替

SELECT TRANSLATE(ABCDEFGHDEMN) FROM DUAL

UPPER(CHAR)

将字符串CHAR全部为大写

ADD_MONTHS(DN)

将N个月增加到D日期

SELECT ADD_MONTHS(SYSDATE) FROM DUAL

LAST_DAY(D)

得到包含D日期的月份的最后的一天的日期

SELECT LAST_DAY(SYSDATE) FROM DUAL

MONTH_BETWEEN(DD)

得到两个日期之间的月数

SELECT MONTH_BETWEEN(DD) FROM DUAL

NEXT_DAY(DCHAR)

得到比日期D晚的由CHAR命名的第一个周日的日期

SELECT NEXT_DAY(TO_DATE(//)SATDAY) FROM DUAL

ROUNT(DFMT)

得到按指定的模式FMT捨入到的最进的日期

SELECT ROUNT(//MONTH) FROM DUAL

SYSDATE

得到当前系统的日期和时间

SELECT SYSDATE FROM DUAL

TO_CHAR(DFMT)

将日期D转换为FMT的字符串

SELECT TO_CHAR(SYSDATEYYYY/MM/DD) FROM DUAL

TO_DATE(CHARFMT)

将字符串CHAR按FMT的格式转换为日期

SELECT TO_DATE(//YYYY/MM/DD) FROM DUAL

ABS(N)

得到N的绝对值

SELECT ABS() FROM DUAL

CEIL(N)

得到大于或等于N的最大整数

SELECT CEIL() FROM DUAL

COS(N)

得到N的余弦值

SELECT COS() FROM DUAL

SIN(N)

得到N的正弦值

SELECT SIN() FROM DUAL

COSH(N)

得到N的双曲余弦值

SELECT COSH() FROM DUAL

EXP(N)

得到N的E的N次幂

SELECT EXP() FROM DUAL

FLOOR(N)

得到小于或等于N的最小整数

SELECT FLOOR() FROM DUAL

LN(N)

得到N的自然对数

SELECT LN() FROM DUAL

LOG(MN)

得到以M为底N的对数

SELECT LOG() FROM DUAL

MOD(MN)

得到M除以N的余数

SELECT MOD() FROM DUAL

POWER(MN)

得到M的N幂

SELECT POWER() FROM DUAL

ROUND(NM)

将N捨入到小数点后M位

SELECT () FROM DUAL

SIGN(N)

当N<0时,得到-1;

当N>得到

当N=得到

SELECT SIGN() FROM DUAL

SINH(N)

得到N的双曲正弦值

SELECT SINH() FROM DUAL

SORT(N)

得到N的平方根N>=

SELECT SORT() FROM DUAL

TAN(N)

得到N的正切值

SELECT TAN() FROM DUAL

TANH(N)

得到N的双曲正切值

SELECT TANH() FROM DUAL

TRUNC(NM)

得到在M位截断的N的值

SELECT TRUNC() FROM DUAL

COUNT()

计算满足条件的记录数

SELECT COUNT(*) FROM TABLE WHERE COL=AAA

MAX()

对指定的列求最大值

SELECT MAX(COL) FROM TABLE

MIN()

对指定的列求最小值

SELECT MIN(COL) FROM TABLE

AVG()

对指定的列求平均值

SELECT AVG(COL) FROM TABLE

SUM()

计算列的和

SELECT SUM(COL) FROM DUAL

TO_NUMBER(CHAR)

将字符转换为数值

SELECT TO_NUMBER() FROM DUAL

CHARTOROWID(CHAR)

将包含外部语法ROWID的CHAR或VARCHAR数值转换为内部的二进制语法参数CHAR必须是包含外部语法的ROWID的字符的字符串

SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID(AAAAfZAABAAACpAAO)

NAME LEIXUE

CONVERT(CHARDEST_CHAR_SETSOURCE_CHAR_SET)

CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的字符集

SELECT CONVERT(GroBUSASCIIWEHP) CONVERSION FROM PUBS

CONVERSION Gross

HEXTORAW(CHAR)

将包含十六进制的CHAR转换为一个RAW数值

INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW(D) FROM TEST

RAWTOHEX(RAW)

将RAW数值转换为一个包含十六进制的CHAR值

SELECT RAWTOHEX(RAW_COLUMN) CONVERSION FROM BSEMPMS

CONVERSION D

ROWIDTOCHAR(ROWID)

将一个ROWID数值转换为VARCHAR数据类型

SELECT ROWID FROM BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE %BRAAB%

TO_MULTI_BYTE(CHAR)

将CHAR中的单字节转换为等价的多字节字符

上一篇:Windows下Oracle数据库进程的启动和关闭

下一篇:查找badsql的方法