数据集函数面试题

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 列升序排列。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值