《數(shù)據(jù)與數(shù)據(jù)運算》PPT課件.ppt_第1頁
《數(shù)據(jù)與數(shù)據(jù)運算》PPT課件.ppt_第2頁
《數(shù)據(jù)與數(shù)據(jù)運算》PPT課件.ppt_第3頁
《數(shù)據(jù)與數(shù)據(jù)運算》PPT課件.ppt_第4頁
《數(shù)據(jù)與數(shù)據(jù)運算》PPT課件.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1,SETEXACTON|OFF的進一步說明參數(shù)ON 指定相等的表達式必須是每個字符都相匹配。 比較時,忽略表達式結(jié)尾的空格。 參數(shù)OFF(默認值) 必須是右端表達式結(jié)尾前的每個字符都相匹配,才是相等的表達式。備注SETEXACT設(shè)置值對于相等長度的字符串沒有任何作用。,2,例如: (1)set exact off ?abcd=abc ?abc=abcd ?abc=abc ?abcd=abc (2)set exact on ?abcd=abc ?abc =abc ?abc=abc ,3,3.3.2 字符函數(shù)(參數(shù)C,或函數(shù)結(jié)果C) 1字符串長度函數(shù)LEN( ) N 【格式】LEN() 【功能】

2、返回cExp串包含的字符個數(shù)(長度)。 如: ? LEN(Visual FoxPro程序設(shè)計) 21 2大小寫轉(zhuǎn)換函數(shù)LOWER( )和UPPER( ) C 【格式】LOWER() UPPER() 【功能】LOWER( )將cExp串中字母全部變成小寫字母, UPPER( )將cExp串中字母全部變成大寫字母, 其它字符不變。 如: ? LOWER(Visual FoxPro程序設(shè)計) visual foxpro程序設(shè)計,4,3空格函數(shù) SPACE( ) C 【格式】SPACE () 【功能】返回一個包含nExp個空格的字符串。 例如: ? “姓名”+SPACE(4)+”性別” 姓名 性別 4

3、刪除字符串前后空格函數(shù) C 【格式】TRIM() LTRIM() ALLTRIM() 【功能】TRIM()刪除cExp串的尾部的空格字符。 LTRIM()刪除cExp串的前導(dǎo)空格字符。 ALLTRIM()刪除cExp串的前導(dǎo)和尾部的空格字符。,5,5取子串函數(shù)LEFT( )、RIGHT( )、SUBSTR( ) C 【格式】LEFT(,) RIGHT(,) SUBSTR(,) 【功能】 LEFT()返回從CExp串的左邊截取NExp個字符的子串。 RIGHT()返回從CExp串的右邊截取NExp個字符的子串。 SUBSTR()返回從串CExp中第N1個字符開始,截取N2個字符的子串。,6,例如

4、: ?LEFT(123456789,4), LEFT(外貿(mào)財會, 4) 1234 外貿(mào) ?RIGHT(123456789,4), RIGHT(青島大學(xué), 2) 6789 學(xué) ss= 青島大學(xué) ? SUBSTR(ss , 5) , SUBSTR( ss , 5 , 0 ) ,SUBSTR(青島大學(xué),9) 大學(xué),7,6計算子串出現(xiàn)次數(shù)函數(shù)OCCURS( ) N 【格式】OCCURS(,) 【功能】返回串1在串2中的出現(xiàn)的次數(shù),函數(shù)值為整數(shù)。 如果串2不包含串1,函數(shù)返回值為零。 說明:若串1是串2的其中一部分,則稱串1是串2 的一個子串 例如:STORE “abcaregtraf” TO S ?O

5、CCURS(“a”,S), OCCURS(“r”,S) 3 2,8,7求子串位置函數(shù) N 【格式】AT(,) ATC(,) 【功能】AT()返回串1在串2中的起始位置, 函數(shù)值為整數(shù)。 如果串2不包含串1,函數(shù)返回值為零。 ATC()功能與AT()類似,只是不區(qū)分大小寫 例如:?AT(“is”,”this is a book.”,2) ?AT(“Is” , ”this is a book.”) ?ATC(“Is” , ”this is a book.”) 6 0 3,9,8子串替換函數(shù)STUFF( ) C 【格式】STUFF(,) 【功能】用C2串替換C1串中從N1指定位置開始的 N2個字符。

6、即從C1的第N1個字符開始刪去N2個字符,并將C2插在該位置上。 說明:若N2=0,則只插入不刪除; 若C2是空串,則只刪除不插入。 例如:ss=ABCDEF ? STUFF(ss , 3 , 3 , 123) , STUFF(ss , 2 , 0 , *) AB123F A*BCDEF ? STUFF(ss , 2 , 3 , ) , STUFF(ss , 8 ,3 , *) AEF ABCDEF*,10,9字符串替換函數(shù) CHRTRAN( ) C 【格式】CHRTRAN(,) 【功能】當(dāng)C1串中的一個或多個字符與C2串中的某個字符相匹配時,就用C3串中對應(yīng)字符(相同位置)替換這些字符。 說

7、明:若C3串包含的字符個數(shù)少于C2串中包含的字符個 數(shù),則C1串中相匹配的字符被刪除。 若C3串多于C2串,多余字符被忽略。 例如: X1=CHRTRAN(ABACAD,ACD,X12) Y1=CHRTRAN(計算機ABC,計算機,電腦) Z1=CHRTRAN(大家好!,大家,多數(shù)人) ? X1,Y1,Z1 XBX1X2 電腦ABC 多數(shù)好!,11,10字符匹配函數(shù) LIKE( ) L 【格式】LIKE(,) 【功能】比較兩個字符串對應(yīng)位置上的字符,若所有對應(yīng) 字符都相匹配,則函數(shù)返回.T. ,否則函數(shù)返 回 .F.。 說明: 中可包含通配符 ?和*。 例如: X=“abc” Y=“abcd”

8、 ? LIKE(“ab*”,X), LIKE(“ab*”,Y) ,LIKE(X,Y) ,LIKE(“Abc”,X) .T. .T. .F. .F.,12,11將字符轉(zhuǎn)換成ASC碼的函數(shù) ASC( ) -N 【格式】ASC() 【功能】給出指定字符串最左邊的一個字符的ASC碼值。 12將ASC碼值轉(zhuǎn)換成相應(yīng)字符函數(shù) CHR( ) -C 【格式】CHR() 【功能】將數(shù)值表達式的值作為ASC碼,給出所對應(yīng)的字符,13,課堂練習(xí),一、填空: 1、 LEN(“北京-NBCH”)= _ 2、 AT(abc,DFABCLN)= _ 3、 SUBSTR( “ Its a book”,8)= _ 4、 A=G

9、ood Bye B=“LI MING” STUFF(A,6,3,B)= _ 5、m=“XYZ12” LIKE(“?12”,m)= _ LIKE(“*12”,m)= _ 6、 LEFT(“北京-NBCH”,4)= _,14,假設(shè)S1=重慶計算機基礎(chǔ)學(xué)會 (1)從字符串S1中分別取出字符串“重慶”、“計算機”、“學(xué)會”; ?left(s1,4), substr(s1,5,6), right(s1,4) (2)分別測試字符串“計算機”、“計算機學(xué)會”在字符串S1中的起始位置。 ?at(計算,s1), at(計算機學(xué)會,s1) (3)測試字符串“學(xué)會”在字符串“重慶計算機基礎(chǔ)學(xué)會是西南地區(qū)計算機基礎(chǔ)研

10、究學(xué)會”第二次出現(xiàn)的位置; ?at(學(xué)會,重慶計算機基礎(chǔ)學(xué)會是西南地區(qū)計算機基礎(chǔ)研究學(xué)會,2) (4)將字符串S1中的“重慶”改成“西部地區(qū)”; ?stuff(s1,1,4,西部地區(qū)) (5)將字符串S1中的“基礎(chǔ)”去掉; ?stuff(s1,11,4,) (6)在字符串S1的前后各加5個星號; ?*+s1,15,假設(shè)S2= abCD34fgS(其中“”表示空格) (1)分別刪除字符串S2的首部空格、尾部空格、首尾的所有空格; (2)將字符串S2中所有字母分別轉(zhuǎn)換為大寫字母、小寫字母; ?ltrim(s2) ;?trim(s2);?alltrim(s2) ?lower(s2);?upper(s

11、2),(3)分別測試字符串A,ABC的ASC碼。 (4)輸出比“Z”的ASCII小20的字符。 ?asc(A);?asc(ABC) ?chr(asc(Z)-20),16,3.3.3 日期和時間函數(shù)(參數(shù)D,或結(jié)果D) 日期時間函數(shù)是處理日期型或日期時間型數(shù)據(jù)的函數(shù)。其自變量為日期型表達式dExp或日期時間型表達式tExp。 1系統(tǒng)日期和時間函數(shù) 【格式】 DATE()返回當(dāng)前系統(tǒng)日期 D TIME()返回當(dāng)前系統(tǒng)時間,格式為hh:mm:ss。C DATETIME()返回當(dāng)前系統(tǒng)日期時間 T,17,2求年份、月份和天數(shù)函數(shù) N 【格式】YEAR() MONTH() DAY() 【功能】YEAR(

12、)返回 D | T中的年份值。(如:2004) MONTH()返回 D | T中的月份數(shù)。 DAY()返回 D | T中的天數(shù)。 例: ?YEAR(DATE( ), YEAR(1999/12/23+20) 2010 2000 ?DATE( ), MONTH(DATE( ),DAY(2010/05/08+20),18,3時、分和秒函數(shù) N 【格式】HOUR() MINUTE() SEC() 【功能】HOUR()返回 T中的小時部分。 MINUTE()返回T中的分鐘部分。 SEC()返回T中的秒數(shù)部分。 例: T=2004-12-31 10:15:36 p ? HOUR(T ), MINUTE(T

13、),SEC(T) 22 15 36,19,3.3.4 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 7 在數(shù)據(jù)庫應(yīng)用的過程中,經(jīng)常要將不同數(shù)據(jù)類型的數(shù)據(jù)進行相應(yīng)轉(zhuǎn)換,滿足實際應(yīng)用的需要。 1數(shù)值轉(zhuǎn)換成字符串的函數(shù)STR( ) C 【格式】STR(,) 【功能】將N1的數(shù)值轉(zhuǎn)換成長度為N2,小數(shù)位數(shù)為N3 的字符串形式。 N型C型 說明: 轉(zhuǎn)換以后的長度,默認值為10。 要保留的小數(shù)位數(shù),默認值為0。 例如: ? “計算結(jié)果為:”+STR(1234.567,7,2) 計算結(jié)果為: 1234.57,20,2字符型轉(zhuǎn)換成數(shù)值型函數(shù)VAL( ) N 【格式】VAL() 【功能】將C串中數(shù)字轉(zhuǎn)換成對應(yīng)數(shù)值 C型N型 說明:轉(zhuǎn)換結(jié)果

14、取兩位小數(shù)。 遇到非數(shù)字字符即停止轉(zhuǎn)換。 例如: ?VAL(2360) , VAL(12*4) , VAL(56.345.8) 2360.00 12.00 56.35 ?VAL(WIN95), 0.00,21,3字符型轉(zhuǎn)換成日期貨日期時間型函數(shù) D 【格式】CTOD() D CTOT() T 【功能】CTOD()把C串轉(zhuǎn)換成對應(yīng)日期型數(shù)據(jù)。 C型D型 CTOT()把C串轉(zhuǎn)換成對應(yīng)日期時間型數(shù)據(jù)。 C型T型 例如: ? CTOT(“09/10/2003 20:09:52) 09/20/03 20:09:52 注意: 字符表達式應(yīng)與所設(shè)置的日期格式相同,否則出錯。,22,4日期或日期時間型轉(zhuǎn)換成字

15、符型函數(shù) 【格式】DTOC(, 1) C TTOC(, 1) C 【功能】把日期D或日期時間T轉(zhuǎn)換成相應(yīng)的字符串。 D/T型C型 說明: 選1時, DTOC()函數(shù)的輸出格式是YYYYMMDD,共8個字符; TTOC()函數(shù)的輸出格式是YYYYMMDDHHMMSS,共14個字符.,23,例如: C1=DTOC(DATE() ?time() (2)取出系統(tǒng)日期時間中的年、月、日、時、分、秒; ?year(date(),month(date(),day(date() ?hour(datetime(), minute(datetime(), sec(datetime() (3)假設(shè)C=“07/21/

16、2005“,將字符串C轉(zhuǎn)換為日期型并求出它15天后的日期; c=07/21/2005 ?ctod(c)+15 (4)分別將字符串“123.456”、“34abc56”、“ab123”轉(zhuǎn)換成數(shù)值型,并觀察它們的不同; ?val(123.456),val(34abc56),val(ab123) 123.46 34.00 0.00,25,5宏替換函數(shù) 【格式】&. 【功能】替換出字符型內(nèi)存變量的內(nèi)容。 說明:1)圓點.作為函數(shù)結(jié)束的標記。 圓點后為回車或空格時,圓點可省 2)它是惟一不帶圓括號的函數(shù)。 例1: X=CHINA Y=“ X” ? Y , &Y, X CHINA,例3:A= “&B” B

17、=“C” C=“D” ? A, &A ,&B &B D D,例2:A=20 B=35+ ? &B.A 55,26,3.3.5 測試函數(shù) 1值域測試函數(shù) BETWEEN( ) L 【格式】BETWEEN(,) 【功能】判斷一個表達式的值是否介于另外兩個表達式之間。 說明: (1)若介于和之間,則函數(shù)值為真(.T.),否則為假(.F.)。 (2)如果和有一個為NULL值,那么函數(shù)值也是NULL值。 (3)自變量的類型可以是:N,C,D,T,F,B,Y,但三個自變量的類型必須一致。,27,例如: STORE .NULL. TO X Y=100 ? BETWEEN(150,Y,Y+100), BETW

18、EEN(90,X,Y) .T. .NULL.,28,2空值(NULL值)測試函數(shù)ISNULL( ) L 【格式】ISNULL() 【功能】判斷一個表達式的運算結(jié)果是否為空值NULL。 說明:若是NULL值,則函數(shù)值為真(.T.),否則為假 (.F.)。 例如:STORE .NULL. TO X ? X, ISNULL(X) .NULL. .T.,29,3 “空”值測試函數(shù)EMPTY( ) L 【格式】EMPTY() 【功能】測試表達式的運算結(jié)果是否為“空”值。 返回邏輯真(.T.)或假(.F.)。 說明:自變量的類型可以是:N,C,D,T。 不同類型數(shù)據(jù)的 “空”值,有不同的規(guī)定。,30,4數(shù)

19、據(jù)類型測試函數(shù) C 【格式】VARTYPE(, ) TYPE( “”) 【功能】測試表達式的數(shù)據(jù)類型, 返回值是一個表示數(shù)據(jù)類型的大寫字母 (C,N,Y,D,L,)。 注意(vartype) 若 的運算結(jié)果是NULL,則根據(jù)的值決定是否返回的類型:.T.返回的類型; .F. 或省略則返回X。,31,例如: A=“10/20/04” B=.NULL. Z=$102.45 ? VARTYPE(A) , VARTYPE(Z) , VARTYPE(DATE() C Y C ? TYPE(“B”) , VARTYPE(B ) , VARTYPE(B, .T.) L X L,32,9條件測試函數(shù)IIF(

20、) 【格式】IIF(,) 【功能】邏輯表達式L值為真(.T.),返回表達式1的值,否則返回表達式2的值。 例如: x=5 y=3 ? IIF(xy , “Yes” , “No”),33,第3節(jié) 重點,掌握各函數(shù)的格式、功能、使用方法;注意自變量和函數(shù)值的類型。重點函數(shù)有: 1、數(shù)值運算函數(shù): INT、CEILING、FLOOR、ROUND、 MOD、MAX、MIN、SQRT、SIGN 2、字符串處理函數(shù): AT、SUBSTR、LEFT、RIGHT、 TRIM、LTRIM、 STUFF 、 LEN、 & 3、日期與時間函數(shù): DATE、 TIME、YEAR、 MONTH、 CMONTH、DOW、CDOW、DAY 4、數(shù)據(jù)類型轉(zhuǎn)換函數(shù) STR、VAL、CTOD、 CTOT、DTOC、 TTOC 5、測試函數(shù) TYPE、 IIF 、 ISNULL、 EMPTY、BETWEEN,34,課堂練習(xí),一、寫出下列命令的執(zhí)行結(jié)果: D=CTOD(“10/01/04”) D1=D+35 ? D1,D1-4 ? YEAR(D1) ? VARTYPE(D1) ? LEN(“&D1”) D2=DTOC(D1) ? VARTYPE(D

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論