MyException - 我的异常网
当前位置:我的异常网» SQL » SQL(Oracle)日常使用与不常使用函数的集锦

SQL(Oracle)日常使用与不常使用函数的集锦

www.MyException.Cn  网友分享于:2015-02-08  浏览:0次
SQL(Oracle)日常使用与不常使用函数的汇总
  --日常使用的sql语句和oracle语句,有些相对使用的频率比较高,收藏起来还是比较值得的
-- 绝对值 SQL:select abs(-1) value Oracle:select abs(-1) value from dual -- 2.取整(大) SQL:select ceiling(-1.001) value Oracle:select ceil(-1.001) value from dual -- 3.取整(小) SQL:select floor(-1.001) value Oracle:select floor(-1.001) value from dual -- 4.取整(截取) SQL:select cast(-1.002 as int) value Oracle:select trunc(-1.002) value from dual -- 5.四舍五入 SQL:select round(1.23456,4) value 1.23460 Oracle:select round(1.23456,4) value from dual 1.2346 -- 6.e为底的幂 SQL:select Exp(1) value 2.7182818284590451 Oracle:select Exp(1) value from dual 2.71828182 -- 7.取e为底的对数 SQL:select log(2.7182818284590451) value 1 Oracle:select ln(2.7182818284590451) value from dual; 1 -- 8.取10为底对数 SQL:select log10(10) value 1 Oracle:select log(10,10) value from dual; 1 -- 9.取平方 SQL:select SQUARE(4) value 16 Oracle:select power(4,2) value from dual 16 -- 10.取平方根 SQL:select SQRT(4) value 2 Oracle:select SQRT(4) value from dual 2 -- 11.求任意数为底的幂 SQL:select power(3,4) value 81 Oracle:select power(3,4) value from dual 81 -- 12.取随机数 SQL:select rand() value Oracle:select sys.dbms_random.value(0,1) value from dual; -- 13.取符号 SQL:select sign(-8) value -1 Oracle:select sign(-8) value from dual -1 ----------数学函数 -- 14.圆周率 SQL:SELECT PI() value 3.1415926535897931 Oracle:不知道 -- 15.sin,cos,tan 参数都以弧度为单位 例如:select sin(PI()/2) value 得到1(SQLServer) 16.Asin,Acos,Atan,Atan2 返回弧度 -- 17.弧度角度互换(SQLServer,Oracle不知道) DEGREES:弧度-〉角度 RADIANS:角度-〉弧度 ---------数值间比较 -- 18. 求集合最大值 SQL:select max(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)a Oracle:select greatest(1,-2,4,3) value from dual -- 19. 求集合最小值 SQL:select min(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)a Oracle:select least(1,-2,4,3) value from dual -- 20.如何处理null值(F2中的null以10代替) SQL:select F1,IsNull(F2,10) value from Tbl Oracle:select F1,nvl(F2,10) value from Tbl --------数值间比较 -- 21.求字符序号 SQL:select ascii('a') value Oracle:select ascii('a') value from dual -- 22.从序号求字符 SQL:select char(97) value Oracle:select chr(97) value from dual -- 23.连接 SQL:select '11'+'22'+'33' value Oracle:select CONCAT('11','22')||33 value from dual -- 23.子串位置 --返回3 SQL:select CHARINDEX('s','sdsq',2) value Oracle:select INSTR('sdsq','s',2) value from dual -- 23.模糊子串的位置 --返回2,参数去掉中间%则返回7 SQL:select patindex('%d%q%','sdsfasdqe') value Oracle:oracle没发现,但是instr可以通过第四霾问 刂瞥鱿执问?BR> select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6 -- 24.求子串 SQL:select substring('abcd',2,2) value Oracle:select substr('abcd',2,2) value from dual -- 25.子串代替 返回aijklmnef SQL:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value Oracle:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual -- 26.子串全部替换 SQL:没发现 Oracle:select Translate('fasdbfasegas','fa','' ) value from dual -- 27.长度 SQL:len,datalength Oracle:length -- 28.大小写转换 lower,upper -- 29.单词首字母大写 SQL:没发现 Oracle:select INITCAP('abcd dsaf df') value from dual -- 30.左补空格(LPAD的第一个参数为空格则同space函数) SQL:select space(10)+'abcd' value Oracle:select LPAD('abcd',14) value from dual -- 31.右补空格(RPAD的第一个参数为空格则同space函数) SQL:select 'abcd'+space(10) value Oracle:select RPAD('abcd',14) value from dual -- 32.删除空格 SQL:ltrim,rtrim Oracle:ltrim,rtrim,trim -- 33. 重复字符串 SQL:select REPLICATE('abcd',2) value Oracle:没发现 -- 34.发音相似性比较(这两个单词返回值一样,发音相同) SQL:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') Oracle:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual -- SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差 -- 返回0-4,4为同音,1最高 --------------日期函数 -- 35.系统时间 SQL:select getdate() value Oracle:select sysdate value from dual -- 36.前后几日 -- 直接与整数相加减 -- 37.求日期 SQL:select convert(char(10),getdate(),20) value Oracle:select trunc(sysdate) value from dual select to_char(sysdate,'yyyy-mm-dd') value from dual -- 38.求时间 SQL:select convert(char(8),getdate(),108) value Oracle:select to_char(sysdate,'hh24:mm:ss') value from dual -- 39.取日期时间的其他部分 SQL:DATEPARTDATENAME 函数 (第一个参数决定) Oracle:to_char函数 第二个参数决定 --参数---------------------------------下表需要补充 year yy, yyyy quarter qq, q (季度) month mm, m (m O无效) dayofyear dy, y (O表星期) day dd, d (d O无效) week wk, ww (wk O无效) weekday dw (O不清楚) Hour hh,hh12,hh24 (hh12,hh24 S无效) minute mi, n (n O无效) second ss, s (s O无效) millisecond ms (O无效) ---------------------------------------------- -- 40.当月最后一天 SQL:不知道 Oracle:select LAST_DAY(sysdate) value from dual -- 41.本星期的某一天(比如星期日) SQL:不知道 Oracle:SELECT Next_day(sysdate,7) vaule FROM DUAL; -- 42.字符串转时间 SQL:可以直接转或者select cast('2004-09-08'as datetime) value Oracle:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL; -- 43.求两日期某一部分的差(比如秒) SQL:select datediff(ss,getdate(),getdate()+12.3) value Oracle:直接用两个日期相减(比如d1-d2=12.3SELECT (d1-d2)*24*60*60 vaule FROM DUAL; -- 44.根据差值求新的日期(比如分钟) SQL:select dateadd(mi,8,getdate()) value Oracle:SELECT sysdate+8/60/24 vaule FROM DUAL; -- 45.求不同时区时间 SQL:不知道 Oracle:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;

最后还有时区的函数和转换没有记录下来,因为我还真的没有用到过。。。
等下次再补充完整

文章评论

程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
那些争议最大的编程观点
那些争议最大的编程观点
一个程序员的时间管理
一个程序员的时间管理
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
编程语言是女人
编程语言是女人
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
程序员和编码员之间的区别
程序员和编码员之间的区别
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序员应该关注的一些事儿
程序员应该关注的一些事儿
程序员都该阅读的书
程序员都该阅读的书
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
为什么程序员都是夜猫子
为什么程序员都是夜猫子
每天工作4小时的程序员
每天工作4小时的程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
中美印日四国程序员比较
中美印日四国程序员比较
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
代码女神横空出世
代码女神横空出世
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
鲜为人知的编程真相
鲜为人知的编程真相
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员的鄙视链
程序员的鄙视链
我是如何打败拖延症的
我是如何打败拖延症的
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
漫画:程序员的工作
漫画:程序员的工作
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Java程序员必看电影
Java程序员必看电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
程序员必看的十大电影
程序员必看的十大电影
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
我的丈夫是个程序员
我的丈夫是个程序员
10个调试和排错的小建议
10个调试和排错的小建议
总结2014中国互联网十大段子
总结2014中国互联网十大段子
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
如何成为一名黑客
如何成为一名黑客
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有