oraclesql单行函数练习(含答案)
oracle_sql单行函数练习(含答案) HYPERLINK "" 整理 2012-12-3Oracle 单行函数的实例练习,基于Oracle自带数据库,用户名分别为hr(主要)和scott。基本上都做出来了,但还有一道关于人民币转数字的还没有做出来,有知道的留言下哦,其他地方有错误的请指正。?Sql代码 ? HYPERLINK "javascript:void()" \o "收藏这段代码" /*1、将字符串?'abc'?以10位长度输出,不足10位用#补足(分别从左边和右边补足) ??2、将字符串'????abc??ewr??3245???4?????'去除两头空格输出 ??3、将字符串'abc?234?abc?abc?def?abc'?中'abc'??替换为?'###'?输出 ??4、将数字7433453四舍五入后输出 ??5、将数字743583.345234?中十位数之后数字全部忽略输出 ??*/ ????--1、将字符串?'abc'?以10位长度输出,不足10位用#补足(分别从左边和右边补足) ??SELECT??lpad('abc',10,'#')??FROM?dual; ??SELECT??rpad('abc',10,'#')??FROM?dual; ??--2、将字符串'????abc??ewr??3245???4?????'去除两头空格输出 ??SELECT?trim('????abc??ewr??3245???4?????')?FROM?dual; ??--3、将字符串'abc?234?abc?abc?def?abc'?中'abc'??替换为?'###'?输出 ??SELECT?replace('abc?234?abc?abc?def?abc','abc','###')?FROM?dual; ??--4、将数字7433453四舍五入后输出 ??SELECT?ROUND(7433453?FROM?dual; ??--5、将数字743583.345234?中十位数之后数字全部忽略输出 ??SELECT?round(743583.345234,-1)?from?DUAL; ????/* ??6、查询hr方案中employees表,将所有员工工资上涨?11.173%?后,四舍五入到十位输出 ??7、将当前系统时间格式化为'YEAR?MONTH?DY?DAY?YYYY-MM-DD?HH24:MI:SS'输出 ??8、查询hr方案中employees表,将入职时间格式化为'YYYY-MM-DD?HH24:MI:SS'?显示 ??9、将当前时间加一年后格式化输出显示 ??10、两个时间相减后输出? ??*/ ????--6、查询hr方案中employees表,将所有员工工资上涨?11.173%?后,四舍五入到十位输出 ??SELECT?round(salary*(1+0.11173),-1) ??FROM?employees; ????--7、将当前系统时间格式化为'YEAR?MONTH?DY?DAY?YYYY-MM-DD?HH24:MI:SS'输出 ??SELECT?to_char(sysdate,'YEAR?MONTH?DY?DAY?YYYY-MM-DD?HH24:MI:SS') ??FROM?dual; ??--8、查询hr方案中employees表,将入职时间格式化为'YYYY-MM-DD?HH24:MI:SS'?显示 ??SELECT?to_char(hire_date,'YYYY-MM-DD?HH24:MI:SS')? ??FROM?employees; ??--9、将当前时间加一年后格式化输出显示 ??SELECT?to_char(add_months(sysdate,12),'YYYY-MM-DD') ??from?dual; ????--10、两个时间相减后输出? ??SELECT?to_date(2011,'YYYY')-sysdate ??FROM?dual; ????/* ??11、查询hr下employees表中入职时间满10年的员工 ??12、查询hr下employees表中2000年后入职的员工 ??13、查询hr下employees表中所有98年3月入职的员工 ??14、查询hr下employees表中所有在3月入职的人 ??15、查询当前时间距离?'1998-8-2'??的月数 ??*/ ????--11、查询hr下employees表中入职时间满10年的员工 ??SELECT?first_nam