Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx

上传人:b****2 文档编号:781793 上传时间:2023-04-29 格式:DOCX 页数:14 大小:18.59KB
下载 相关 举报
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第1页
第1页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第2页
第2页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第3页
第3页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第4页
第4页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第5页
第5页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第6页
第6页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第7页
第7页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第8页
第8页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第9页
第9页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第10页
第10页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第11页
第11页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第12页
第12页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第13页
第13页 / 共14页
Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx

《Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx(14页珍藏版)》请在冰点文库上搜索。

Oracle和SQL Server的一些区别函数和存储过程Word格式文档下载.docx

selectpower(3,4)value81

selectpower(3,4)valuefromdual81

  12.取随机数

selectrand()value

selectsys.dbms_random.value(0,1)valuefromdual;

  13.取符号

selectsign(-8)value-1

selectsign(-8)valuefromdual-1

  ----------数学函数

  14.圆周率

SELECTPI()value3.1415926535897931

不知道

  15.sin,cos,tan参数都以弧度为单位

  例如:

selectsin(PI()/2)value得到1(SQLServer)

  16.Asin,Acos,Atan,Atan2返回弧度

  17.弧度角度互换(SQLServer,Oracle不知道)

  DEGREES:

弧度-〉角度

  RADIANS:

角度-〉弧度

  ---------数值间比较

  18.求集合最大值

selectmax(value)valuefrom

  (select1value

  union

  select-2value

  select4value

  select3value)a

selectgreatest(1,-2,4,3)valuefromdual

  19.求集合最小值

selectmin(value)valuefrom

selectleast(1,-2,4,3)valuefromdual

  20.如何处理null值(F2中的null以10代替)

selectF1,IsNull(F2,10)valuefromTbl

selectF1,nvl(F2,10)valuefromTbl

  --------数值间比较

  21.求字符序号

selectascii('

a'

)value

)valuefromdual

  22.从序号求字符

selectchar(97)value

selectchr(97)valuefromdual

  23.连接

select'

11'

+'

22'

33'

value

selectCONCAT('

'

)¦

¦

33valuefromdual

  23.子串位置--返回3

selectCHARINDEX('

s'

sdsq'

2)value

selectINSTR('

2)valuefromdual

  23.模糊子串的位置--返回2,参数去掉中间%则返回7

selectpatindex('

%d%q%'

sdsfasdqe'

oracle没发现,但是instr可以通过第四霾问刂瞥鱿执问?

BR>

  selectINSTR('

sd'

1,2)valuefromdual返回6

  24.求子串

selectsubstring('

abcd'

2,2)value

selectsubstr('

2,2)valuefromdual

  25.子串代替返回aijklmnef

SELECTSTUFF('

abcdef'

2,3,'

ijklmn'

SELECTReplace('

'

bcd'

  26.子串全部替换

没发现

selectTranslate('

fasdbfasegas'

fa'

我'

)valuefromdual

  27.长度

len,datalength

length

  28.大小写转换lower,upper

  29.单词首字母大写

selectINITCAP('

abcddsafdf'

  30.左补空格(LPAD的第一个参数为空格则同space函数)

selectspace(10)+'

selectLPAD('

14)valuefromdual

  31.右补空格(RPAD的第一个参数为空格则同space函数)

+space(10)value

selectRPAD('

  32.删除空格

ltrim,rtrim

ltrim,rtrim,trim

  33.重复字符串

selectREPLICATE('

  34.发音相似性比较(这两个单词返回值一样,发音相同)

SELECTSOUNDEX('

Smith'

),SOUNDEX('

Smythe'

)fromdual

  SQLServer中用SELECTDIFFERENCE('

Smithers'

Smythers'

)比较soundex的差

  返回0-4,4为同音,1最高

  --------------日期函数

  35.系统时间

selectgetdate()value

selectsysdatevaluefromdual

  36.前后几日

  直接与整数相加减

  37.求日期

selectconvert(char(10),getdate(),20)value

selecttrunc(sysdate)valuefromdual

  selectto_char(sysdate,'

yyyy-mm-dd'

  38.求时间

selectconvert(char(8),getdate(),108)value

selectto_char(sysdate,'

hh24:

mm:

ss'

  39.取日期时间的其他部分

DATEPART和DATENAME函数(第一个参数决定)

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.当月最后一天

selectLAST_DAY(sysdate)valuefromdual

  41.本星期的某一天(比如星期日)

SELECTNext_day(sysdate,7)vauleFROMDUAL;

  42.字符串转时间

可以直接转或者selectcast('

2004-09-08'

asdatetime)value

SELECTTo_date('

2004-01-0522:

09:

38'

yyyy-mm-ddhh24-mi-ss'

)vauleFROMDUAL;

  43.求两日期某一部分的差(比如秒)

selectdatediff(ss,getdate(),getdate()+12.3)value

直接用两个日期相减(比如d1-d2=12.3)

  SELECT(d1-d2)*24*60*60vauleFROMDUAL;

  44.根据差值求新的日期(比如分钟)

selectdateadd(mi,8,getdate())value

SELECTsysdate+8/60/24vauleFROMDUAL;

  45.求不同时区时间

SELECTNew_time(sysdate,'

ydt'

gmt'

)vauleFROMDUAL;

  -----时区参数,北京在东8区应该是Ydt-------

  ASTADT大西洋标准时间

  BSTBDT白令海标准时间

  CSTCDT中部标准时间

  ESTEDT东部标准时间

  GMT格林尼治标准时间

  HSTHDT阿拉斯加—夏威夷标准时间

  MSTMDT山区标准时间

  NST纽芬兰标准时间

  PSTPDT太平洋标准时间

  YSTYDTYUKON标准时间

Oracle支持的字符函数和它们的MicrosoftSQLServer等价函数:

函数OracleMicrosoftSQL Server

把字符转换为ASCIIASCIIASCII

字串连接CONCAT(expression+expression)

把ASCII转换为字符CHRCHAR

返回字符串中的开始字符(左起)INSTRCHARINDEX

把字符转换为小写LOWERLOWER

把字符转换为大写UPPERUPPER

填充字符串的左边LPADN/A

清除开始的空白LTRIMLTRIM

清除尾部的空白RTRIMRTRIM

字符串中的起始模式(pattern)INSTRPATINDEX

多次重复字符串RPADREPLICATE

字符串的语音表示SOUNDEXSOUNDEX

重复空格的字串RPADSPACE

从数字数据转换为字符数据TO_CHARSTR

子串SUBSTRSUBSTRING

替换字符REPLACESTUFF

将字串中的每个词首字母大写INITCAPN/A

翻译字符串TRANSLATEN/A

字符串长度LENGTHDATELENGTHorLEN

列表中最大的字符串GREATESTN/A

列表中最小的字符串LEASTN/A

如果为NULL则转换字串NVLISNULL

 

日期函数

日期相加(datecolumn+/-value)or

ADD_MONTHSDATEADD

两个日期的差(datecolumn+/-value)or

MONTHS_BETWEENDATEDIFF

当前日期和时间SYSDATEGETDATE()

一个月的最后一天LAST_DAYN/A

时区转换NEW_TIMEN/A

日期后的第一个周日NEXT_DAYN/A

代表日期的字符串TO_CHARDATENAME

代表日期的整数TO_NUMBER

(TO_CHAR))DATEPART

日期舍入ROUNDCONVERT

日期截断TRUNCCONVERT

字符串转换为日期TO_DATECONVERT

如果为NULL则转换日期NVLISNULL

转换函数

数字转换为字符TO_CHARCONVERT

字符转换为数字TO_NUMBERCONVERT

日期转换为字符TO_CHARCONVERT

字符转换为日期TO_DATECONVERT

16进制转换为2进制HEX_TO_RAWCONVERT

2进制转换为16进制RAW_TO_HEXCONVERT

其它行级别的函数

返回第一个非空表达式DECODECOALESCE

当前序列值CURRVALN/A

下一个序列值NEXTVALN/A

如果exp1=exp2,返回nullDECODENULLIF

用户登录账号ID数字UIDSUSER_ID

用户登录名USERSUSER_NAME

用户数据库ID数字UIDUSER_ID

用户数据库名USERUSER_NAME

当前用户CURRENT_USERCURRENT_USER

用户环境(audittrail)USERENVN/A

在CONNECTBY子句中的级别LEVELN/A

合计函数

AverageAVGAVG

CountCOUNTCOUNT

MaximumMAXMAX

MinimumMINMIN

StandarddeviationSTDDEVSTDEVorSTDEVP

SummationSUMSUM

VarianceVARIANCEVARorVARP

Oracle还有一个有用的函数EXTRACT,提取并且返回日期时间或时间间隔表达式中特定的时间域:

EXTRACT(YEARFROM日期)

存储过程

一.多表连接查询,更新存储过程

Sql存储过程

ALTERPROCEDURE[dbo].[GetEvent]

@SCSWIdnvarchar(20)=null,

@ToDateDATETIME,

@FromDateDATETIME

AS

SELECTNOTES.NOTE_ID,

NOTES.NOTE,

SCSW_CALENDAR.DATE_TIME

FROMSCSW_CALENDAR

LEFTOUTERJOINNOTESONSCSW_CALENDAR.NOTE_ID=notes.note_id

WHERESCSW_CALENDAR.SCSW_ID=SCSWId

ORDERBYPatient.PatientId

Oracel存储过程

1.查询数据的存储过程

PROCEDUREGetEvent(SCSWIdINVARCHAR2,FromDateINDATE,ToDateINDATE,refOutOUTrefcursor)

IS

BEGIN

OPENrefOutFOR

selectNOTES.NOTE_ID,

fromSCSW_CALENDAR

leftjoinNOTESonSCSW_CALENDAR.NOTE_ID=notes.note_id

whereSCSW_CALENDAR.SCSW_ID=SCSWId

ANDSCSW_CALENDAR.DATE_TIME>

=FromDate

ANDSCSW_CALENDAR.DATE_TIME<

ToDate

orderbySCSW_CALENDAR.DATE_TIME;

ENDGetEvent;

2.更新数据的存储过程:

procedureUpdateArticlesubmodel

ArticleSubIDnumber,

ArticleTitlenvarchar2,

ArticleKeyWordnvarchar2,

ArticleContentCLOB,

CreatePersonnvarchar2,

ChangeDatedate,

SetTopnumber,

ArticleSubStyleIDnumber,

Checkednumber

as

begin

update"

ArticleSubModel"

set"

ArticleTitle"

=ArticleTitle,

"

ArticleKeyWord"

=ArticleKeyWord,

ArticleContent"

=ArticleContent,

CreatePerson"

=CreatePerson,

CreateDate"

=ChangeDate,

SetTop"

=SetTop,

ArticleSubStyleID"

=ArticleSubStyleID,

Checked"

=Checked

where"

ArticleSubID"

=ArticleSubID;

commit;

Exceptionwhenothersthen

rollback;

endUpdateArticlesubmodel;

3.删除数据的存储过程

procedureDeleteArticlesubmodel

ArticleSubIDnumber

deletefrom"

ArticleSubAccessories"

endDeleteArticlesubmodel;

编后:

如果您认为有侵权的地方,请来信说明,本人将立即删去。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2