This Domain(Admin5.com) is for Sale:

SQLServer和Oracle常用函数对比

时间:2007-12-23  来源:不详  作者:迈克DB

  O:SELECTReplace('abcdef','bcd','ijklmn')valuefromdual

  26.子串全部替换
  S:没发现
  O:selectTranslate('fasdbfasegas','fa','我')valuefromdual

  27.长度
  S:len,datalength
  O:length

  28.大小写转换lower,upper

  29.单词首字母大写
  S:没发现
  O:selectINITCAP('abcddsafdf')valuefromdual

  30.左补空格(LPAD的第一个参数为空格则同space函数)
  S:selectspace(10) 'abcd'value
  O:selectLPAD('abcd',14)valuefromdual

  31.右补空格(RPAD的第一个参数为空格则同space函数)
  S:select'abcd' space(10)value
  O:selectRPAD('abcd',14)valuefromdual

  32.删除空格
  S:ltrim,rtrim
  O:ltrim,rtrim,trim

  33.重复字符串
  S:selectREPLICATE('abcd',2)value
  O:没发现

  34.发音相似性比较(这两个单词返回值一样,发音相同)
  S:SELECTSOUNDEX('Smith'),SOUNDEX('Smythe')
  O:SELECTSOUNDEX('Smith'),SOUNDEX('Smythe')fromdual
  SQLServer中用SELECTDIFFERENCE('Smithers','Smythers')比较soundex的差 本文来自织梦
  返回0-4,4为同音,1最高

日期函数
  35.系统时间
  S:selectgetdate()value
  O:selectsysdatevaluefromdual

  36.前后几日
  直接与整数相加减

  37.求日期
  S:selectconvert(char(10),getdate(),20)value
  O:selecttrunc(sysdate)valuefromdual
  selectto_char(sysdate,'yyyy-mm-dd')valuefromdual

  38.求时间
  S:selectconvert(char(8),getdate(),108)value
  O:selectto_char(sysdate,'hh24:mm:ss')valuefromdual

39.取日期时间的其他部分
  S:DATEPART和DATENAME函数(第一个参数决定)
  O:to_char函数第二个参数决定

  参数---------------------------------下表需要补充
  yearyy,yyyy
  quarterqq,q(季度)
  monthmm,m(mO无效)
  dayofyeardy,y(O表星期)
  daydd,d(dO无效)
  weekwk,ww(wkO无效)
  weekdaydw(O不清楚)
  Hourhh,hh12,hh24(hh12,hh24S无效)
  minutemi,n(nO无效)
  secondss,s(sO无效)
  millisecondms(O无效)
  ----------------------------------------------

  40.当月最后一天 织梦好,好织梦
  S:不知道
  O:selectLAST_DAY(sysdate)valuefromdual

  41.本星期的某一天(比如星期日)
  S:不知道
  O:SELECTNext_day(sysdate,7)vauleFROMDUAL;

  42.字符串转时间
  S:可以直接转或者selectcast('2004-09-08'asdatetime)value
  O:SELECTTo_date('2004-01-0522:09:38','yyyy-mm-ddhh24-mi-ss')vauleFROMDUAL;

  43.求两日期某一部分的差(比如秒)
  S:selectdatediff(ss,getdate(),getdate() 12.3)value
  O:直接用两个日期相减(比如d1-d2=12.3)
  SELECT(d1-d2)*24*60*60vauleFROMDUAL;

  44.根据差值求新的日期(比如分钟)
  S:selectdateadd(mi,8,getdate())value
  O:SELECTsysdate 8/60/24vauleFROMDUAL;

  45.求不同时区时间
  S:不知道
  O:SELECTNew_time(sysdate,'ydt','gmt')vauleFROMDUAL;

  -----时区参数,北京在东8区应该是Ydt-------
  ASTADT大西洋标准时间
  BSTBDT白令海标准时间
  CSTCDT中部标准时间
  ESTEDT东部标准时间
  GMT格林尼治标准时间
  HSTHDT阿拉斯加?夏威夷标准时间
  MSTMDT山区标准时间

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息