




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
存儲過程概述創(chuàng)建和執(zhí)行存儲過程管理存儲過程存儲函數(shù)第七章存儲過程和函數(shù)學(xué)習(xí)目標掌握了解理解1掌握存儲過程的創(chuàng)建、修改和執(zhí)行、存儲函數(shù)的創(chuàng)建和執(zhí)行、常用內(nèi)置函數(shù)的使用2理解存儲過程的作用、常用內(nèi)置函數(shù)的含義3了解存儲過程和存儲函數(shù)、程序存儲的類型MySQL程序設(shè)計基礎(chǔ)7.1存儲過程概述7.27.3創(chuàng)建和執(zhí)行存儲過程目錄管理存儲過程7.4存儲函數(shù)7.5目錄在MySQL中最常見的變量類型有局部變量和用戶自定義變量兩種。1.局部變量要定義局部變量必須使用DECLARE來聲明,定義的同時可以使用default對局部變量初始化賦值。DECLARE語句格式如下:DECLAREvar_name[,…]type[DEFAULTvalue]value是給變量提供一個默認值,包含在一個DEFAULT子句中,它的值可以被指定為一個表達式,如果沒有DEFAULT子句,初始值為NULL。例如:DECLAREnumintDEFAULT0;7.1MySQL程序設(shè)計基礎(chǔ)7.1.1變量2.用戶自定義變量用戶自定義變量的聲明以“@”開頭,形如:@var_name。為了實現(xiàn)不同SQL語句中進行值的傳遞,可以把一些數(shù)值存儲在自定義的用戶變量中,不同的SQL語句都可以對它進行訪問。用戶變量在客戶端和數(shù)據(jù)庫的連接建立時被定義,當連接斷開時,用戶變量將會被釋放。用戶變量無需用DECLARE關(guān)鍵字進行定義,可以直接使用。例如:SET@c1=1,@c2=2,@c3=4;在編寫存儲過程和存儲函數(shù)時,可以使用流程控制語句對SQL語句進行組織,使其成為符合業(yè)務(wù)邏輯的代碼塊。MySQL中常見的流程控制語句主要有:IF語句、CASE語句、LOOP語句、WHILE語句、ITERATE語句、REPEAT語句等。7.1.2流程控制語句1.IF語句IF語句可以通過判斷一個邏輯條件是TRUE還是FALSE,轉(zhuǎn)去執(zhí)行相應(yīng)的語句,它的語法格式如下:IFexpr_conditionTHENstatement_list[ELSEIFexpr_conditionTHENstatement_list][ELSEstatement_list]ENDIF2.CASE語句CASE也是一個條件判斷語句,多用于多分支判斷的程序結(jié)構(gòu),它的常用語法格式如下:CASEcase_exprWHENwhen_valueTHENstatement_list[WHENwhen_valueTHENstatement_list]……[ELSEstatement_list]ENDCASE3.LOOP語句LOOP是一個循環(huán)語句,用來進行一個語句塊的循環(huán)操作。LOOP語句并不進行條件判斷,會一直執(zhí)行循環(huán)體的語句,如果要退出語句的執(zhí)行,需要使用LEAVE等語句退出循環(huán)。LOOP語句的語法格式如下:[loop_label:]LOOPStatement_listENDLOOt_listP[loop_label]4.LEAVE語句在循環(huán)語句LOOP使用過程中,當循環(huán)條件不滿足時,可以使用LEAVE語句跳出循環(huán)體。LEAVE語句用于跳出有循環(huán)標志的流程控制語句,基本語法結(jié)構(gòu)如下:LEAVElabel5.ITERATE語句與LEAVE語句結(jié)束整個循環(huán)不同,ITERATE語句用于無條件轉(zhuǎn)到語句段的開頭處。ITERATE語句的格式如下:ITERATElable6.REPEAT語句REPEAT語句用于循環(huán)執(zhí)行一個語句塊,采用的方式是先無條件執(zhí)行語句塊后再進行條件表達式判斷,如果表達式為真,則循環(huán)結(jié)束,否則重復(fù)執(zhí)行語句塊。REPEAT語句的格式如下:[repeat_lable:]REPEATstatement_listUNTILexpr_conditionENDREPEAT[repeat_lable]7.WHILE語句WHILE語句也用于循環(huán)執(zhí)行一個語句塊,但是與REPEAT語句不同,WHILE語句執(zhí)行時首先判斷條件表達式是否為真,如果為真則繼續(xù)執(zhí)行循環(huán)體內(nèi)語句,否則直接退出循環(huán)體。WHILE語句的格式如下:[while_lable:]WHILEexpr_conditionDOStatement_listENDWHILE[while_lable]使用SQL語句進行查詢過程中,查詢結(jié)果將返回很多記錄,如果記錄量很大時,需要使用光標來對查詢結(jié)果集中的記錄進行逐條讀取,它可以對多行數(shù)據(jù)進行輕松的處理。7.1.3光標1.光標的聲明在使用光標對結(jié)果集中的數(shù)據(jù)進行處理時,需要首先聲明光標,光標的聲明必須在聲明變量、條件之后,聲明處理程序之前。光標的聲明格式如下:DECLAREcursor_nameCURSORFORselect_statement其中cursor_name表示光標的名字,select_statement代表SELECT語句的內(nèi)容,返回一個用于創(chuàng)建光標的結(jié)果集。下面聲明一個名為cur_teacher的光標。代碼如下:DECLAREcur_xsxx
CURSORFORSELECTxh,xmFROMtb_xsxxb;2.光標的使用MySQL中使用OPEN關(guān)鍵字來打開光標,打開光標之后就可以使用光標了。其語法的基本形式如下:OPENcursor_name;FETCHcursor_nameINTOvar_name[,var_name…];下面我們使用一個名為cur_teacher的光標。將查詢出來的數(shù)據(jù)存入xs_xh和xs_xm這兩個變量中,代碼如下:FETCHcur_xsxx
INTOxs_xh,xs_xm;3.光標的關(guān)閉MySQL中使用CLOSE關(guān)鍵字來關(guān)閉光標。其語法的基本形式如下:CLOSEcursor_name;其中,cursor_name參數(shù)表示光標的名稱。示例:下面關(guān)閉一個名為cur_teacher的光標。代碼如下:CLOSEcur_teacher;下面舉一個例子,使用光標查詢顯示學(xué)生信息表tb_xsxxb中所有學(xué)生學(xué)號和姓名的字段信息,代碼段如下:delimiter//CREATEPROCEDUREp_1()BEGIN DECLAREno_more_recordINTDEFAULT0; DECLAREt_XHchar(12); DECLAREt_XMvarchar(30); DECLAREcur_recordCURSORFORSELECTXH,XMfromtb_xsxxb;/*首先對游標進行定義*/ DECLARECONTINUEHANDLERFORNOTFOUNDSETno_more_record=1;/*條件處理,針對NOTFOUND的條件,當沒有記錄時no_more_record賦值為1*/ OPENcur_record;/*使用OPEN打開游標*/ FETCHcur_recordINTOt_XH,t_XM;/*讀取一條記錄到變量中*/ WHILEno_more_record!=1DO/*如果記錄未讀取結(jié)束*/ SELECTt_XH,t_XM; FETCHcur_recordINTOt_XH,t_XM;/*繼續(xù)讀取下一條記錄到變量中*/ ENDWHILE; CLOSEcur_record;/*用完后需要用CLOSE把資源釋放掉*/END;//實例
7-1存儲過程是數(shù)據(jù)庫服務(wù)器上一組預(yù)先編譯好的SQL語句的集合,作為一個單元存儲在數(shù)據(jù)庫中,可以被應(yīng)用程序作為一個整體來進行調(diào)用。在調(diào)用過程中,存儲過程可以接收參數(shù),執(zhí)行后返回參數(shù)值。7.2存儲過程概述數(shù)據(jù)庫開發(fā)人員在進行數(shù)據(jù)庫開發(fā)時,為了實現(xiàn)一定的功能,經(jīng)常會將負責(zé)不同功能的語句集中起來而且按照用途分別獨立放置,以便能夠反復(fù)調(diào)用,而這些獨立放置且擁有不同功能的語句塊,稱之為“過程”(Procedure)。存儲過程(StoredProcedure)是一組完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中,用戶通過過程名和給出參數(shù)值來調(diào)用它們。7.2.1存儲過程基本概念MySQL的存儲程序可分以下四大類:(1)存儲函數(shù)(storedfunction)。返回一個計算結(jié)果,該結(jié)果可以用在表達式里。(2)存儲過程(storedprocedure)。不直接返回一個結(jié)果,但可以用來完成一般的運算或是生成一個結(jié)果集并傳遞回客戶。(3)觸發(fā)器(trigger)。與數(shù)據(jù)表相關(guān)聯(lián),當那個數(shù)據(jù)表被INSERT、DELETE、UPDATE語句修改時,觸發(fā)器將自動執(zhí)行。(4)事件(event)。根據(jù)時間表在預(yù)訂時刻自動執(zhí)行。7.2.2存儲過程的類型(1)存儲過程的使用,提高了程序設(shè)計的靈活性,增強了SQL語言的功能。(2)存儲過程把一組功能代碼作為單位組件。(3)使用存儲過程有利于提高程序的執(zhí)行速度。(4)使用存儲過程能減少網(wǎng)絡(luò)訪問的負荷。(5)作為一種安全機制,系統(tǒng)管理員可以充分利用存儲過程對相應(yīng)的數(shù)據(jù)的訪問權(quán)限的進行限制。7.2.3存儲過程的作用創(chuàng)建存儲過程語法格式如下:CREATEPROCEDUREsp_name([proc_parameter[,...]])[characteristic...]routine_body其中:
proc_parameter:[IN|OUT|INOUT]param_nametypecharacteristic:LANGUAGESQL|[NOT]DETERMINISTIC|{CONTAINSSQL|NOSQL|READSSQLDATA|MODIFIESSQLDATA}|SQLSECURITY{DEFINER|INVOKER}|COMMENT'string'routine_body:ValidSQLprocedurestatementorstatements7.3創(chuàng)建和執(zhí)行存儲過程7.3.1創(chuàng)建和執(zhí)行不帶參數(shù)的存儲過程創(chuàng)建一個存儲過程p_1,該存儲過程輸出學(xué)生信息表tb_xsxxb表中姓“王”的全部記錄。對應(yīng)的SQL語句如下:DELIMITER//CREATEPROCEDUREp_1()BEGINSELECT*FROMtb_xsxxb
WHERExmlike'王%';END;//實例
7-2使用SQL語句執(zhí)行例7-2中創(chuàng)建的存儲過程p_1。對應(yīng)的SQL語句如下:執(zhí)行結(jié)果如下所示:USEjwxt;CALLp_1();創(chuàng)建一個存儲函數(shù)f_1,輸出1+1的和;創(chuàng)建一個存儲函數(shù)f_2,輸入兩個參數(shù),計算兩個參數(shù)的和。對應(yīng)的SQL語句如下:DELIMITER//CREATEFUNCTION
f_1()BEGIN
RETURN1+1;END;//實例
7-3DELIMITER//CREATEDEFINER=`root`@`localhost`FUNCTION`f_2`(`a`int,`b`int)RETURNSint(11)BEGIN RETURNa+b;END//使用SQL語句分別執(zhí)行例7-4中創(chuàng)建的存儲函數(shù)f_1和f_2。對應(yīng)的SQL語句如下:執(zhí)行結(jié)果如下所示:USEjwxt;selectf_1();USEjwxt;selectf_2(10,10);1.創(chuàng)建帶輸入?yún)?shù)的存儲過程輸入?yún)?shù)是指由調(diào)用程序向存儲過程傳遞的參數(shù),在創(chuàng)建存儲過程語句中定義輸入?yún)?shù),而在執(zhí)行該存儲過程中給出參數(shù)相應(yīng)的值。7.3.2創(chuàng)建和執(zhí)行帶輸入?yún)?shù)的存儲過程(1)使用變量名傳遞參數(shù)值在執(zhí)行存儲過程的語句中,通過語句SET@parameter_name=value設(shè)定給參數(shù)的傳遞值,然后按位置傳遞參數(shù)。其語法格式如下:CALLprocedure_name([@parameter_name=value][,…n]);創(chuàng)建一個名為p_2的存儲過程。該存儲過程能根據(jù)用戶給定的教師職稱值輸出教師信息表tb_jsxxb中教師職稱為用戶給定值的全部記錄。該存儲過程的SQL語句如下:delimiter//CREATEPROCEDUREp_2(INjszcvarchar(10))BEGIN select*fromtb_jsxxbwherezc=jszc;END;//實例7-4調(diào)用存儲過程p_2,給定職稱值為“講師”,運行結(jié)果如下:2.執(zhí)行帶輸入?yún)?shù)的存儲過程執(zhí)行帶輸入?yún)?shù)的存儲過程,有兩種方法:一種是使用變量名傳遞參數(shù)值;另一種是按給定表達式值傳遞參數(shù)值。用參數(shù)名傳遞參數(shù)值的方法執(zhí)行存儲過程p_2,分別查詢職稱為“講師”的記錄。
DELIMITER//SET@輸入職稱='講師';CALLp_2(@輸入職稱);//DELIMITER;實例7-5(2)按給定表達式值傳遞參數(shù)在執(zhí)行存儲過程的語句中,當存儲過程含有多個輸入?yún)?shù)時,采用這種方式傳遞值,給定參數(shù)值的順序必須與存儲過程中定義的輸入變量的順序一致。其語法格式如下:CALLprocedure_name(value1,value2,…)用按給定表達式值傳遞參數(shù)的方式執(zhí)行存儲過程p_2,分別查找職稱為“講師”和“副教授”的記錄。對應(yīng)的SQL語句如下:CALLp_2('講師');CALLp_2('副教授');實例7-6如果需要從存儲過程中返回一個或多個值,可以通過在創(chuàng)建存儲過程的語句中定義輸出參數(shù)來實現(xiàn)。定義輸出參數(shù),需要在CREATEPROCEDURE語句中定義參數(shù)時在參數(shù)名后面指定OUT關(guān)鍵字。語法格式如下:OUTparameter_namedatatype[=default]7.3.3創(chuàng)建和執(zhí)行帶輸出參數(shù)的存儲過程創(chuàng)建存儲過程p_3,要求能根據(jù)用戶給定的班級代碼值,統(tǒng)計出學(xué)生信息表tb_xsxxb表中對應(yīng)班級代碼的班級人數(shù),并將結(jié)果以輸出變量的形式返回給調(diào)用者。DELIMITER//CREATEPROCEDUREp_3(INbjdmchar(2),OUTbjrstinyint)BEGINSELECTCOUNT(*)INTObjrsFROMtb_xsxxbWHEREbjdm=bjdm;END//DELIMITER;實例
7-7執(zhí)行存儲過程p_3,統(tǒng)計班級代碼為“01”的班級人數(shù)。運行結(jié)果:CALLp_3('01',@a01);SELECT@a01;實例7-8(1)我們可以用SELECTnameFROMcWHEREdb='數(shù)據(jù)庫名',或者SELECTroutine_nameFROMinformation_schema.routinesWHEREroutine_schema='數(shù)據(jù)庫名',或者SHOWPROCEDURESTATUSWHEREdb='數(shù)據(jù)庫名'用于顯示數(shù)據(jù)庫內(nèi)存儲過程的列表。(2)使用SHOWCREATEPROCEDURE數(shù)據(jù)庫.存儲過程名;就可以查看當前存儲過程的詳細。7.4管理存儲過程7.4.1查看存儲過程查看p_1存儲過程的信息。對應(yīng)的SQL語句如下:SELECT*cWHEREdb='jwxt';實例7-9查看存儲過程p_2的定義語句等信息。對應(yīng)的SQL語句如下:SHOWCREATEPROCEDUREp_2;實例7-10修改存儲過程是由ALTERPROCEDURE語句來完成的,其語法格式如下:ALTER{PROCEDURE|FUNCTION}sp_name[characteristic...]characteristic:{CONTAINSSQL|NOSQL|READSSQLDATA|MODIFIESSQLDATA}|SQLSECURITY{DEFINER|INVOKER}|COMMENT'string’7.4.2修改存儲過程修改存儲過程p_1的定義。將讀寫權(quán)限改為MODIFIESSQLDATA,并指明調(diào)用者可以執(zhí)行。對應(yīng)的SQL語句如下:ALTERPROCEDUREp_1MODIFIESSQLDATASQLSECURITYINVOKER;實例7-11查詢修改后存儲過程
p_1的信息。運行結(jié)果如下所示:SELECTSPECIFIC_NAME,SQL_DATA_ACCESS,SECURITY_TYPEFROMinformation_schema.RoutinesWHEREROUTINE_NAME='p_1';實例7-12存儲過程的刪除是通過DROPPROCEDURE語句來實現(xiàn)的。其語法格式為:DROP{PROCEDURE|FUNCTION}[IFEXISTS]sp_nameIFEXISTS子句是一個MySQL的擴展。如果程序或函數(shù)不存儲,它防止發(fā)生錯誤。7.4.3刪除存儲過程使用SQL語句刪除存儲過程p_2。對應(yīng)的SQL語句如下:DROPPROCEDUREp_2;運行結(jié)果如下:實例7-13存儲過程與存儲函數(shù)一樣,都是由sql語句和過程式語句所組成的代碼片段,并且可以被應(yīng)用程序和其他sql語句調(diào)用。它們之間的區(qū)別在于:(1)存儲函數(shù)不能有輸出參數(shù),因為存儲函數(shù)自身就是輸出參數(shù);而存儲過程可以擁有輸出參數(shù)。(2)可以直接對存儲函數(shù)進行調(diào)用,而不需要使用call語句;而對存儲過程的調(diào)用,需要使用call語句。(3)存儲函數(shù)中必須包含一條return語句,而這條特殊的sql語句不允許包含于存儲過程中。7.5存儲函數(shù)7.5.1存儲過程與存儲函數(shù)聯(lián)系與區(qū)別MySQL中,創(chuàng)建存儲函數(shù)的基本形式如下:CREATEFUNCTIONsp_name([func_parameter[,...]])RETURNStype[characteristic...]routine_bodyRETURN子句用于聲明存儲函數(shù)返回值的數(shù)據(jù)類型。7.5.2創(chuàng)建和執(zhí)行存儲函數(shù)創(chuàng)建存儲函數(shù)f_1,包含兩個int參數(shù),返回兩個數(shù)之和。對應(yīng)的SQL語句如下:DELIMITER//CREATEFUNCTIONf_1(xINT,yINT)RETURNSINTBEGINRETURNx+y;END//DELIMITER;實例7-14調(diào)用存儲函數(shù)f_1(方法一):調(diào)用存儲函數(shù)f_1(方法二):運行結(jié)果如下:
運行結(jié)果如下:set@x=10;set@y=20;set@result=f_1(@x,@y);select@result;selectf_1(10,20);為了能更好的為用戶服務(wù),MySQL提供了豐富的系統(tǒng)函數(shù),這些函數(shù)無需定義就能直接使用,其中包括數(shù)學(xué)函數(shù)、聚合函數(shù)、字符串函數(shù)、日期和時間函數(shù)、加密函數(shù)和格式化函數(shù)等。7.5.3MySQL的系統(tǒng)函數(shù)數(shù)學(xué)函數(shù)ABS(x):返回x的絕對值。BIN(x):返回x的二進制。CEILING(x):返回大于x的最小整數(shù)值(向上取整)。EXP(x):返回值自然對數(shù)e的x次方。FLOOR(x):返回小于x的最大整數(shù)值(向下取整)。LN(x):返回x的自然對數(shù)。LOG(x,y):返回x的以y為底的對數(shù)。MOD(x,y):返回x/y的余數(shù)。PI():返回圓周率的值。RAND():返回0到1內(nèi)的隨機數(shù)。ROUND(x,y):返回參數(shù)x的四舍五入的有y位小數(shù)的值。SIGN(x):返回代表數(shù)字x的符號的值(負數(shù),零,正數(shù)對應(yīng)-1,0,1)。SQRT(x):返回一個數(shù)的平方根。TRUNCATE(x,y):返回數(shù)字x截短為y位小數(shù)的結(jié)果。聚合函數(shù)AVG(col):返回指定列的平均值。COUNT(col):返回指定列中非NULL值的個數(shù)。MIN(col):返回指定列的最小值。MAX(col):返回指定列的最大值。SUM(col):返回指定列的所有值之和。字符串函數(shù)(1)ASCII(char):返回字符的ASCII碼值。INSERT(str,x,y,instr):將字符串str從第x位置開始,y個字符長的子串替換為字符串instr,返回結(jié)果。LCASE(str)或LOWER(str):返回將字符串str中所有字符改變?yōu)樾懞蟮慕Y(jié)果。UCASE(str)或UPPER(str):返回將字符串str中所有字符轉(zhuǎn)變?yōu)榇髮懞蟮慕Y(jié)果。LEFT(str,x):返回字符串str中最左邊的x個字符。RIGHT(str,x):返回字符串str中最右邊的x個字符。LENGTH(str):返回字符串str的存儲長度(注:一個漢字在UTF8編碼為3,GBK為4)。CHAR_LENGTH(str):返回字符串str的字符個數(shù)(注:一個漢字為1)。BIT_LENGTH(str):返回字符str的字節(jié)長度(注:一個漢字在UTF8編碼為3,GBK為4)。LTRIM(str):從字符串str中去除開頭的空格。TRIM(str):去除字符串首部和尾部的所有空格。字符串函數(shù)(2)POSITION(substrINstr):返回子串substr在字符串str中第一次出現(xiàn)的位置,無結(jié)果返回0。REVERSE(str):返回顛倒字符串str的結(jié)果。STRCMP(s1,s2):比較字符串s1和s2,完全相同返回0,反之返回-1。SUBSTR(x)和SUBSTRING(x):返回字符串指定位置指定長度的子串(同義函數(shù))。REPLACE(str,from_str,to_str):替換str字符串中指定子串from_str為新子串to_str。SPACE(X):返回由X個空格構(gòu)成的字符串。CONCAT(s1,s2...,sn):將s1,s2...,sn連接成字符串。CONCAT_WS(seperator,str1,str2,…):將多個字符串以連接符seperator首尾相連。FORMAT(X,D[,locale]):按“###,###,###.0X”以四舍五入方式格式化字符串(數(shù)字)。REREAT(str,count):返回由count個str組成的結(jié)果。日期和時間函數(shù)CURDATE()或CURRENT_DATE():返回當前的日期。CURTIME()或CURRENT_TIME():返回當前的時間。DAYOFWEEK(date):返回date所代表的一星期中的第幾天(1~7)。DAYOFMONTH(date):返回date是一個月的第幾天(1~31)。DAYOFYEAR(date):返回date是一年的第幾天(1~366)。HOUR(time):返回time的小時值(0~23)。MINUTE(time):返回time的分鐘值(0~59)。MONTH(date):返回date的月份值(1~12)。MONTHNAME(date):返回date的月份名。NOW():返回當前的日期和時間。QUARTER(date):返回date在一年中的季度(1~4)。WEEK(date):返回日期date為一年中第幾周(0~53)。YEAR(date):返回日期date的年份(1000~9999)。加密函數(shù)MD5(str):返回str的MD5哈希值。PASSWORD(str):返回str的加密值(單向加密,不可逆模式)。SHA(str)或SHA1(str):返回str的SHA(或SHA1)哈希值。格式化函數(shù)DATE_FORMAT(date,fmt):依照字符串fmt格式化日期date值。TIME_FORMAT(time,fmt):依照字符串fmt格式化時間time值。FORMAT(x,y):把x格式化為以逗號隔開的數(shù)字序列,y是結(jié)果的小數(shù)位數(shù)。INET_ATON(ip):返回IP地址的數(shù)字表示。INET_NTOA(num):返回數(shù)字所代表的IP地址。格式化函數(shù)-日期格式格式:描述%a:縮寫星期名%b:縮寫月名%c:月,數(shù)值%D:帶有英文前綴的月中的天%d:月的天,數(shù)值(00-31)%e:月的天,數(shù)值(0-31)%f:微秒%H:小時(00-23)%h:小時(01-12)%I:小時(01-12)%i:分鐘,數(shù)值(00-59)%j:年的天(001-366)%k:小時(0-23)格式:描述%M:月名%m:月,數(shù)值(00-12)%p:AM或PM%r:時間,12-小時(hh:mm:ssAM或PM)%S:秒(00-59)%s:秒(00-59)%T:時間,24-小時(hh:mm:ss)%U:周(00-53)星期日是一周的第一天%u:周(00-53)星期一是一周的第一天%V:周(01-53)星期日是一周的第一天,與%X使用%v:周(01-53)星期一是一周的第一天,與%x使用格式:描述%W:星期名%w:周的天(0=星期日,6=星期六)%X:年,其中的星期日是周的第一天,4位,與%V使用%x:年,其中的星期一是周的第一天,4位,與%v使用%Y:年,4位%y:年,2位常用函數(shù)的使用(1):/*數(shù)學(xué)函數(shù)*/selectABS(-10);/*輸出10*/selectBIN(3);/*輸出11*/selectpi();/*輸出圓周率值*/selectround(4.5,0);/*輸出5*/selectrand();/*輸出(0,1)之間的隨機數(shù)*/selecttruncate(1.2389,2);/*輸出1.23*/實例7-15常用函數(shù)的使用(2):/*字符串函數(shù)(1)*/selectASCII('a');/*輸出97*/selectinsert('abc',2,1,'ee');/*輸出aeec*/selectlcase('ABC');/*輸出ab*/selectucase('abc');/*輸出ABC*/selectleft('abc',2);/*輸出ab*/selectright('abc',2);/*輸出bc*/selectucase('abc');/*輸出ABC*/selectlength('abc');/*輸出3*/selectlength('漢字');/*輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貴州電子商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案一套
- 2025年廣西經(jīng)濟職業(yè)學(xué)院單招職業(yè)傾向性考試題庫完美版
- 2025年福建省寧德市單招職業(yè)適應(yīng)性測試題庫及完整答案1套
- 2025年廣東省陽江市單招職業(yè)適應(yīng)性考試題庫參考答案
- 土地開發(fā)中的環(huán)境補償機制-深度研究
- 港口數(shù)字化轉(zhuǎn)型經(jīng)濟效益-深度研究
- 3D舞臺模型設(shè)計-深度研究
- 竹纖維提取工藝優(yōu)化-深度研究
- 跨平臺音視頻傳輸研究-深度研究
- 餐飲業(yè)消費者體驗提升-深度研究
- 開封市第一屆職業(yè)技能大賽美容項目技術(shù)文件(世賽項目)
- 《全科醫(yī)學(xué)概論》課件-以家庭為單位的健康照顧
- 醫(yī)院窗簾、隔簾采購 投標方案(技術(shù)方案)
- 控制計劃課件教材-2024年
- 自來水廠安全施工組織設(shè)計
- 川教版2024-2025學(xué)年六年級下冊信息技術(shù)全冊教案
- 《無人機測繪技術(shù)》項目1任務(wù)3無人機測繪基礎(chǔ)知識
- 招標代理機構(gòu)遴選投標方案(技術(shù)標)
- 彩鋼瓦雨棚施工技術(shù)標準方案
- 2024年新疆(兵團)公務(wù)員考試《行測》真題及答案解析
- KTV商務(wù)禮儀培訓(xùn)
評論
0/150
提交評論