1、对字符串操作的函数?
ASCII() –函数返回字符表达式最左端字符的ASCII 码值
CHR() –函数用于将ASCII 码转换为字符,如果没有输入0 ~ 255 之间的ASCII 码值CHR 函数会返回一个NULL 值,应该是必须给chr()赋数字值
concat(str,str)连接两个字符串
LOWER() –函数把字符串全部转换为小写
UPPER() –函数把字符串全部转换为大写
LTRIM() –函数把字符串头部的空格去掉
RTRIM() –函数把字符串尾部的空格去掉
TRIM() –同时去掉所有两端的空格
实际上LTRIM(),RTRIM(),TRIM()是将指定的字符从字符串中裁减掉
其中LTRIM(),RTRIM()的格式为xxxx(被截字符串,要截掉的字符串),但是TRIM()的格式为TRIM(要截掉的一个字符 from 被截的字符串)
SUBSTR() –函数返回部分字符串
INSTR(String,substring) –函数返回字符串中某个指定的子串出现的开始位置,如果不存在则返回0
REPLACE(原来的字符串,要被替换掉的字符串,要替换成的字符串)
SOUNDEX() –函数返回一个四位字符码
–SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回NULL 值
2、oracle中查询系统时间
select sysdate from dual
3、数字函数
abs()绝对值
exp(value)e的value次幂
ceil()大于等于该值的最小整数
floor()小于等于该值的最大整数
trunc(value,precision)保留precision个小数截取valueround
(value,precision)保留precision个小数对value进行四舍五入
sign()根据值为正负零返回1,-1,0
mod()取模操作
power(value,exponent)value的exponent次幂
sqrt()求平方根
4、SQL中,执行四舍五入的是哪个函数?
Round(value,保留的小数位数)与只对应的还有一个特别相似的函数trunc(value,保留的小数位数)它的作用是根据要保留的小数位数来截取原数。
5、Decode函数的用法?
DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,…,else),表示如果value等于if1时,DECODE函数的结果返回then1,…,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。
6、如何用decode进行大于小于的比较?
利用sign()函数和DECODE和在一起用
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual;
7、decode(条件,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
……
ELSIF 条件=值n THEN
RETURN(翻译值n)
ELSE
RETURN(缺省值)
END IF
• 使用方法:
1、比较大小
select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; –取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
8、CASE语句的用法?
SELECT last_name, job_id, salary
CASE job_id
WHEN ‘IT_PROG’ THEN 1.10*salary
WHEN ‘ST_CLERK’ THEN 1.15*salary
WHEN ‘SA_REP’ THEN 1.20*salary
ELSE salary END “REVISED_SALARY”
FROM employees
9、用什么函数获得日期?和日期中的月,日,年
to_char(sysdate,’year’):tow thsound six to_char(sysdate,’yyyy’) :2006
to_char(sysdate,’month’):8月to_char(sysdate,’mm’):08
to_char(sysdate,’day’):星期4 to_char(sysdate,’dd’):22
10、NVL与NVL2两个函数的使用方法和差别?
NVL (expr1, expr2):expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3) :expr1不为NULL。返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话。expr3会转换为expr2的类型
11、集合操作符
1)UNION:由每一个查询 选择的 全部不反复的行组成。并集不包括反复值, 默认按第 1 个查询的第 1 列升序排列。
2)UNION ALL: 由每一个查询 选择的 全部的行。全然并集包括反复值。 不排序。
3) MINUS : 在第一个查询中。 不在后面查询中的行。
不包括反复。 按第1 个查询的第 1 列升序排列。
4)INTERSECT: 取每一个查询结果的交集。 不包括反复行。 按第1 个查询的第 1 列升序排列。