全國VFP二級考試_第1頁
全國VFP二級考試_第2頁
全國VFP二級考試_第3頁
全國VFP二級考試_第4頁
全國VFP二級考試_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章VFP語言基礎3.1數(shù)據(jù)類型3.2常量3.3變量3.4表達式3.5函數(shù)3.6命令格式及書寫規(guī)則第3章VFP語言基礎3.1數(shù)據(jù)類型 1.字符型

字符型(character)數(shù)據(jù)是不具計算能力的文字數(shù)據(jù)類型,是常用的數(shù)據(jù)類型之一,用字母C表示。字符型數(shù)據(jù)包括中文字符、英文字符和其他ASCII字符。

2.數(shù)值型

數(shù)值型(numeric)是表示數(shù)量并可以進行數(shù)值運算的數(shù)據(jù)類型,是常用的數(shù)據(jù)類型之一,用字母N表示。數(shù)值型數(shù)據(jù)由正負號、數(shù)字(0-9)、小數(shù)點組成,其長度最大為20。3.1數(shù)據(jù)類型 3.整形

整形(integer)數(shù)據(jù)是不包含小數(shù)部分的數(shù)值型數(shù)據(jù),用字母I表示,整形數(shù)據(jù)只用來表示整數(shù),以二進制形式存儲。

4.浮點型

浮點型(float)數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種,用字母F表示,它與數(shù)值型數(shù)據(jù)完全等價,只是存儲形式上采用浮點格式,主要是為了達到較高的計算精度。3.1數(shù)據(jù)類型 5.雙精度型

雙精度型(double)數(shù)據(jù)是提供更高精度的一種數(shù)值型數(shù)據(jù),用字母B表示,雙精度數(shù)據(jù)采用固定長度的浮點格式存儲,共占用八個字節(jié)。

6.日期型

日期型(date)數(shù)據(jù)是表示日期的一種數(shù)據(jù),是常用的數(shù)據(jù)類型之一,用字母D表示,日期型數(shù)據(jù)的默認格式是{mm/dd/yy},其長度固定為八個字節(jié)。3.1數(shù)據(jù)類型 7.日期時間型

日期時間型(datetime)數(shù)據(jù)是表示日期和時間的數(shù)據(jù),用字母T表示。日期時間型數(shù)據(jù)默認個數(shù)為{mm/dd/yyyyhh:mm:ss}.

8.邏輯型

邏輯型(logic)數(shù)據(jù)是描述客觀事物真假的數(shù)據(jù)類型,用字母L表示。邏輯型數(shù)據(jù)有真(.T.或.Y.)和假(.F.或.N.)兩個值。3.1數(shù)據(jù)類型 9.貨幣型

貨幣型(currency)數(shù)據(jù)是用于存儲貨幣值的數(shù)據(jù)類型,用字母Y表示,默認留四位小數(shù)。

10.備注型

備注型(memo)數(shù)據(jù)是表示、存放較多字符的數(shù)據(jù)類型??梢园阉闯墒亲址蛿?shù)據(jù)的特殊形式,用字母M表示。備注型數(shù)據(jù)沒有數(shù)據(jù)長度的限制,但會受限于磁盤空間容量。3.1數(shù)據(jù)類型 11.通用型

通用型(general)數(shù)據(jù)是存儲對象數(shù)據(jù)類型,用G表示,通用型數(shù)據(jù)中的對象可以是電子表格、文檔、圖形圖片等。它只用于表中字段的定義。

12.二進制字符和二進制備注型二進制字符和二進制備注型數(shù)據(jù)是以二進制格式存儲的數(shù)據(jù)類型,只能用于表中字段的定義。3.2常量

1.數(shù)值型常量數(shù)值常量就是通常所說的常數(shù),它由數(shù)字、小數(shù)點和正負號組成,表示整數(shù)或?qū)崝?shù)值例如:56,3.1415,-100,-7.65

2.字符型常量字符型常量又稱為字符串,要求用雙引號(“”)或單引號(‘’)或方括號([

])作為定界符把字符串括起來??沾?"):除了定界符,未包含任何字符的字符串空格串(“

”):整個字符串中只包含了一個空格字符

3.2常量

3.邏輯型常量邏輯型常量只有邏輯真(true)和邏輯假(false)兩種值邏輯型常量值前后需要同時加上點號(.)作為其定界符4.貨幣型常量在數(shù)值型常量前加上貨幣符號($)

貨幣型常量默認保留4位小數(shù)3.2常量

5.日期型常量日期型常量是用一對花括號{}作為定界符。

默認格式是{mm/dd/yyyy},包含年、月、日三部分內(nèi)容。

傳統(tǒng)的日期格式為{mm/dd/yy}嚴格的日期格式為{^yyyy-mm-dd}\影響日期格式的設置命令設置日期分隔符:SETMARK[TO]日期分隔符設置日期格式:SETDATE[TO]MDY|DMY|YMD設置年份位數(shù):SETCENTURYON|OFF|TO[世紀值]3.2常量

6.日期時間型常量日期時間型常量包括日期和時間兩部分內(nèi)容:{日期,時間},用一對花括號{}作為定界符,兩者之間用逗號(,)分隔

.日期部分的格式與日期型常量相同。時間部分格式為:hh:mm:ss[A|P],其默認值分別為12:00:00AM,AM或PM代表上午和下午。3.3變量

變量是在操作過程中可以改變其取值或數(shù)據(jù)類型的數(shù)據(jù)項,在VFP中,變量分為字段變量、簡單的內(nèi)存變量、數(shù)值變量和系統(tǒng)變量。確定一個變量,需要確定其三個要素:變量名、數(shù)據(jù)類型和變量值。3.3變量

3.3.1變量的命名規(guī)則

1.由字母、數(shù)字、漢字和下劃線組成,字母不區(qū)分大小寫;

2.首字符只能以字母、漢字和下劃線開頭,即不能以數(shù)字開頭;

3.不能使用VFP系統(tǒng)的保留字;

4.除了自由表中字段名、索引的TAG標識名最多只能10個字符外,其他的命名長度可使用1~128個字符。3.3變量

3.3.2字段變量

字段變量就是表中字段名,其數(shù)據(jù)類型可以為VFP中任意的數(shù)據(jù)類型。3.3.3簡單內(nèi)存變量內(nèi)存變量的數(shù)據(jù)類型包括:數(shù)值型、字符型、邏輯型、貨幣型、日期型和日期時間型等簡單內(nèi)存變量不用事先定義,其類型根據(jù)當前所存儲的數(shù)據(jù)類型來動態(tài)決定例:a=123,其中123為數(shù)值型變量值,則a為數(shù)值型變量b=“ABC”,“ABC”為字符型變量值,則b為字符型變量3.3變量3.3.4內(nèi)存變量常用命令

1.內(nèi)存變量的賦值

命令格式1:<內(nèi)存變量>=<表達式> 命令格式2:STORE<表達式>TO<內(nèi)存變量表> 功能:賦值語句,將表達式的值賦給內(nèi)存變量

例:x="HELLO"y={^2008-08-08}m=23n=23store23tom,n3.3變量3.3.4內(nèi)存變量常用命令

2.表達式值的顯示 命令格式1:?<表達式表>[AT<列號>] 命令格式2:??<表達式表>[AT<列號>]

功能:計算表達式中各表達式的值,并在屏幕上指定的位置顯示出表達式的值。?換行輸出,??在當前位置輸出

例:x=20store“ABC”toystore“FC”tom,n?m,x,y,n

?x??y3.3變量 3.內(nèi)存變量的顯示

命令格式1:DISPLAYMEMORY[LIKE<通配符>][TOPRINT|TOFILE<file>] 命令格式2:LISTMEMORY[LIKE<通配符>][TOPRINT|TOFILE<file>]

功能:使用DISPLAYMEMORY或LISTMEMORY命令在屏幕上顯示出當前所有內(nèi)存變量的信息,包括變量名、作用域、類型和取值。

通配符:“?”和“*”分別代表一個字符和任意多個字符。3.3變量

4.內(nèi)存變量的清除

命令格式1:CLEARMEMORY 命令格式2:RELEASE<內(nèi)存變量名表> 命令格式3:RELEASEALL 命令格式4:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]

功能:清除內(nèi)存變量并釋放相應的內(nèi)存空間3.3變量3.3.5數(shù)組變量數(shù)組是一種特殊的內(nèi)存變量,是用一組有序的、由相同名稱存儲的一系列內(nèi)存變量的集合數(shù)組必須通過DIMENSION、DECLARE命令先定義,再使用。

命令格式: DIMENSION<數(shù)組名>(<下標上限1>[,<下標上限2>])[,…]) DECLARE<數(shù)組名>(<下標上限1>[,<下標上限2>])[,…])功能:定義一個或多個數(shù)組,DIMENSION和DECLARE功能完全相同,根據(jù)下標上限定義的個數(shù)不同,分為一維數(shù)組和二維數(shù)組,如無下標上限2則為一維數(shù)組。3.3變量3.3.5數(shù)組變量1)數(shù)組定義后,各數(shù)組元素的初始值都為邏輯值.F.。同一數(shù)組中,根據(jù)賦值不同,各數(shù)組元素的數(shù)據(jù)類型也可以不同。2)下標上限是數(shù)據(jù)元素的個數(shù)(序號上限),下標下界(起始序號)值固定為13)可以用一維數(shù)組的形式訪問二維數(shù)組。 例:DIMENSIONx(3),y(2,2)x(1)=6x(3)=‘ABC’y(1,1)=$13y(1,2)={^2008-08-16}y(3)=9?x,x(1),x(2),x(3),y(1),y(2),y(2,1),y(2,2),y3.3變量3.3.6系統(tǒng)變量

系統(tǒng)變量是VFP系統(tǒng)特有的內(nèi)存變量,由VFP系統(tǒng)定義、維護。系統(tǒng)變量的變量名均以下劃線“_”開始,如_WINDOWS、_CLIPTEXT等。因此在定義內(nèi)存變量和數(shù)組變量名時,不要以下劃線開始,以免與系統(tǒng)變量名沖突。

3.4表達式

表達式是指通過各種運算符將常量、變量、函數(shù)等連接起來的算式。

1.算術表達式算術表達式又稱數(shù)值表達式,是用算術運算符將數(shù)值型數(shù)據(jù)連接起來的算式。

3.4表達式

2.字符表達式字符表達式是由字符運算符將字符型數(shù)據(jù)對象連接起來進行運算的算式

1)“+”運算格式為:<字符串1>+<字符串2>。功能是將兩個字符串首尾連接形成一個新的字符串。2)“-”運算格式為:<字符串1>-<字符串2>。功能是將字符串1尾部的空格移到字符串2的尾部,然后再連接形成一個新的字符串。3)“$”運算格式為:<字符串1>$<字符串2>。功能是判斷字符串1是否被包含在字符串2中,其運算結果是邏輯型。如果字符串1包含在字符串2中,結果為邏輯真(.T.),否則為邏輯假(.F.)。3.4表達式

2.字符表達式例:x="ABC"y="DEF"z="DE"?x+y,x-y,z$y輸出結果:ABCDEFABCDEF.T.3.4表達式

3.日期表達式

由日期運算符將一個日期型或日期時間型數(shù)據(jù)與一個數(shù)值型數(shù)據(jù)連接而成的運算式稱為日期表達式

日期運算符分為“+”和“-”,其作用分別是在日期數(shù)據(jù)上增加或減少一個天數(shù),在日期時間數(shù)據(jù)上增加或減少一個秒數(shù)。若兩個日期型數(shù)據(jù)相減,結果為兩日期的天數(shù)差值,兩個日期時間型數(shù)據(jù)相減,結果為二者相差的秒數(shù)。

例:x={^2012-08-16}y={^2012-08-26}m={^2012-08-20,10:18:25}?x+2,x-3,y-x,m+15?m-12輸出結果:08/18/1208/13/121008/20/1210:18:40AM08/20/1210:18:13AM3.4表達式

4.關系表達式

1)數(shù)值型與貨幣型根據(jù)數(shù)據(jù)的大小(包括符號位)進行比較;2)日期型和日期時間型比較時,越早的日期其日期時間越小,越晚的日期其日期時間越大;3)邏輯型數(shù)據(jù)比較時,.T.比.F.大;4)字符型數(shù)據(jù)(字符串)比較時,將兩個字符串的字符按自左向右的順序依次逐個進行比較;5)雙等號運算符(“==”)比較兩個字符串時,只有當兩個字符串完全相同時,運算結果為邏輯真(.T.),否則為邏輯假(.F.);6)單等號運算符(“=”)比較兩個字符串時,可用命令SETEXACTON/OFF來設置其是否為精確比較。當SETEXACTON時,處于精確比較狀態(tài),先對較短字符后面加上空格再比較,SETEXACTOFF時,若字符串2是字符串1的前綴,則為.T.3.4表達式

4.關系表達式

例:SETEXACT

OFFx="ABC"y="ABC"z="ABCD"?x=y,y=x,z=x,y=z,x==y,y==x輸出結果:.F..T..T..F..F..F.繼續(xù)輸入:SETEXACTON?x=y,y=x,z=x,y=z,x==y,y==x輸出結果:.T..T..F..F..F..F.3.4表達式

5.邏輯表達式

由邏輯運算符將邏輯型數(shù)據(jù)對象連接而成的算式稱為邏輯表達式。邏輯型運算符包括:AND、OR、NOT,優(yōu)先級:NOT、AND、OR。6.運算符優(yōu)先級1)括號的優(yōu)先級最高;2)相同優(yōu)先級的運算符按從左到右的順序進行運算;3)字符串連接運算符和算術加、減運算符的優(yōu)先級是一樣的。3.5函數(shù)

函數(shù)由函數(shù)名、參數(shù)、和函數(shù)值組成;函數(shù)運算后會有一個值,稱為函數(shù)值。

函數(shù)的格式為:函數(shù)名(參數(shù)表)1)函數(shù)名即函數(shù)的標識。2)參數(shù)是自變量,其數(shù)據(jù)類型由函數(shù)的定義確定,數(shù)據(jù)形式可以是常量、變量、函數(shù)或表達式;有的函數(shù)可省略參數(shù),但有函數(shù)值。3)函數(shù)值是函數(shù)運算后返回的值,函數(shù)值會因函數(shù)名和參數(shù)的不同而不同。3.5函數(shù)

3.5.1數(shù)值函數(shù)1.取絕對值函數(shù)格式:ABS(<數(shù)值表達式>)功能:求指定數(shù)值表達式的絕對值例:?abs(-2)的輸出結果為2,?abs(2-8)的輸出結果為62.求符號函數(shù)格式:SIGN(<數(shù)值表達式>)功能:求指定數(shù)值表達式的符號位。當表達式的運算結果為正數(shù)、負數(shù)或零時,其對應的函數(shù)值分別為1、-1、0。例:?Sign(-8)的輸出結果為-13.5函數(shù)

3.5.1數(shù)值函數(shù)3.求平方根函數(shù)格式:SQRT(<數(shù)值表達式>)功能:求指定數(shù)值表達式的算術平方根,數(shù)值表達式的值應不小于零。例:?sqrt(16)的輸出結果為4.003.5函數(shù)

3.5.1數(shù)值函數(shù)4.求整數(shù)函數(shù)INT(<數(shù)值表達式>):INT求出數(shù)值表達式的整數(shù)部分;CEILING(<數(shù)值表達式>):求出大于或等于數(shù)值表達式值的最小整數(shù);FLOOR(<數(shù)值表達式>):求出小于或等于數(shù)值表達式值的最大例:?Int(5.6),ceiling(5.6),floor(5.6)輸出結果為:5、6、5例:?Int(-3.8),ceiling(-3.8),floor(-3.8)輸出結果為:-3、-3、-43.5函數(shù)

3.5.1數(shù)值函數(shù)5.四舍五入函數(shù)格式:ROUND(<數(shù)值表達式1>,<數(shù)值表達式2>)功能:根據(jù)給出的四舍五入小數(shù)位數(shù),對數(shù)值表達式的計算結果做四舍五入處理。若<數(shù)值表達式2>大于等于0,則表示小數(shù)點后保留小數(shù)位數(shù);若<數(shù)值表達式2>小于0,則表示整數(shù)部分進行四舍五入的位數(shù)。例:?ROUND(356.586,2)的輸出結果為:356.59例:?ROUND(356.586,-1)的輸出結果為:3603.5函數(shù)

3.5.1數(shù)值函數(shù)6.求余數(shù)函數(shù)

格式:MOD(<數(shù)值表達式1>,<數(shù)值表達式2>)功能:結果為<數(shù)值表達式1>除以<數(shù)值表達式2>所得的余數(shù),余數(shù)的符號位與<數(shù)值表達式2>符號相同。如果<數(shù)值表達式1>與<數(shù)值表達式2>符號位相同,函數(shù)值計算的方法是,兩數(shù)絕對值相除的余數(shù)值再帶上<數(shù)值表達式1>的符號位如果<數(shù)值表達式1>與<數(shù)值表達式2>符號位不相同,函數(shù)值計算的方法是:兩數(shù)絕對值相除的余數(shù)值再帶上<數(shù)值表達式1>的符號位后,再加上<數(shù)值表達式2>的值。例:?MOD(10,3),MOD(-10,-3),MOD(10,-3),MOD(-10,3)輸出結果:1

-1-22

3.5函數(shù)

3.5.1數(shù)值函數(shù)7.求最大值和最小值函數(shù)MAX(<數(shù)值表達式1>,<數(shù)值表達式2>[,<數(shù)值表達式3>…])MIN(<數(shù)值表達式1>,<數(shù)值表達式2>[,<數(shù)值表達式3>…])功能:MAX求出所有數(shù)值表達式中的最大值;MIN求出所有數(shù)值表達式中的最小值。例:MAX(7,56,234),MAX(“7”,“56”,“234”)輸出結果:234,7例:MAX(“汽車”,“飛機”,“輪船”),MAX(.T.,.F.)輸出結果:汽車、.T.例:MIN({^2008-08-08},{^2012-08-16})輸出結果:08/08/083.5函數(shù)

3.5.1數(shù)值函數(shù)練習1.x=64y=48?sqrt(abs(y-x))輸出結果是多少?2.x=-4.2

?Int(abs(x)),ceiling(x),floor(x)的結果?3.?round(432.34,-2),round(432.344,2)輸出結果?4.?Mod(14,3),mod(-14,-3),mod(14,-3),mod(-10,3)輸出結果?5.?max(“Abc”,“ABc“,”abc”)輸出結果?6.?min({^2008-07-08},{^2011-12-23})輸出結果?3.5函數(shù)

3.5.2字符函數(shù)

1.求字符串長度函數(shù)

格式:LEN(<字符串表達式>)功能:求字符串的長度,即所包含的字符個數(shù)。函數(shù)值為數(shù)值型。一個漢字字符長度為2字節(jié),其他字符長度為1個字節(jié);若是空串(""),則長度為0。例:?LEN(“ABC”),LEN(“重慶”)例:?LEN(“”),LEN(“”)

3.5函數(shù)

3.5.2字符函數(shù)

2.生成空格字符函數(shù)

格式:SPACE(<數(shù)值型表達式>)功能:建立空格函數(shù),生成空格的個數(shù)由數(shù)值型表達式的值決定。例:?len(space(5))輸出結果:53.5函數(shù)

3.5.2字符函數(shù)

3.大小寫轉(zhuǎn)換函數(shù)

格式:LOWER(<字符串表達式>)UPPER(<字符串表達式>)LOWER將指定字符串表達式中的大寫字母全部轉(zhuǎn)換成小寫字母;UPPER將指定字符串表達式中的小寫字母全部轉(zhuǎn)換成大寫字母。例:LOWER(“VisualFoxPro”)的結果為:visualfoxpro例:UPPER(“VisualFoxPro”)的結果為:VISUALFOXPRO

3.5函數(shù)

3.5.2字符函數(shù)

4.去除空格函數(shù)

格式:RTRIM(<字符串表達式>)LTRIM(<字符串表達式>)ALLTRIM(<字符串表達式>)RTRIM能刪除字符串尾部的空格;LTRIM能刪除字符串前部的空格;ALLTRIM能同時刪除字符串前部和后部的空格,而中間的空格不能刪除。例:x=“1234”m=“A”n=“B”?m+RTRIM(x)+n,m+LTRIM(x)+n,m+AllTRIM(x)+nx=“abcdef”y=“cd”z=“r”?x+rtrim(y)+ltrim(z),alltrim(x)+ltrim(y)+alltrim(z)3.5函數(shù)

3.5.2字符函數(shù)

5.取子串函數(shù)

格式:LEFT(<字符串表達式>,<數(shù)值型表達式>)

RIGHT(<字符串表達式>,<數(shù)值型表達式>)SUBSTR(<字符串表達式>,<起始位置>[,<數(shù)值型表達式>])LEFT從給定的字符串表達式的左端取指定長度的子串;RIGHT從給定的字符串表達式的右端取指定長度的子串;SUBSTR在給定的字符串中從<起始位置>開始截取指定長度的子串,子串的長度由<數(shù)值型表達式>的值決定;若<數(shù)值型表達式>省略,則函數(shù)從<起始位置>一直取到最后一個字符。例:x=“123abc456”?left(x,4),right(x,5)?substr(x,3,4),substr(x,5)

3.5函數(shù)

3.5.2字符函數(shù)

6.子串替換函數(shù)

STUFF(<字符串表達式1>,<起始位置>,<長度>,<字符串表達式2>)功能:用<字符串表達式2>的值替換<字符串表達式1>中以<起始位置>和<長度>指定的一個子串。替換與被替換字符串長度不一定相等。如果<長度>為0,則表示在起始位置插入<字符串2>

,如果<字符串2>為空,則從<字符串1>中刪除起始位置和長度指定的字符。例:x=“ABCDEFGH”y=“123”?STUFF(x,3,2,y),STUFF(x,2,0,y),STUFF(x,5,2,“”)輸出結果:AB123EFGHA123BCDEFGHABCDGH

3.5函數(shù)

3.5.2字符函數(shù)

7.字符替換函數(shù)

CHRTRAN(<字符串表達式1>,<字符串表達式2>,<字符串表達式3>)功能:當<字符串表達式1>中的一個或多個字符與<字符串2>中的某個字符相匹配時,用<字符串3>中的對應字符(與<字符串2>位置相同的字符)替換這些字符。若<字符串3>包含的字符個數(shù)少于<字符串2>包含的字符個數(shù),與<字符串2>位置相同的字符為空,那么<字符串1>中相匹配的各字符將被刪除。若<字符串3>包含的字符個數(shù)多余<字符串2>包含的字符個數(shù),多余字符將被忽略。3.5函數(shù)

3.5.2字符函數(shù)

7.字符替換函數(shù)

CHRTRAN(<字符串表達式1>,<字符串表達式2>,<字符串表達式3>)例:x="ABCDEFGH"y="BCED"z="BAEFGC"m="12345"?CHRTRAN(x,y,m),CHRTRAN(x,z,m)輸出結果:A1243FGH21D345H練習:x=“1234567”y=“23574”z=“abcd”?chrtran(x,y,z)3.5函數(shù)

3.5.2字符函數(shù)

8.子串出現(xiàn)次數(shù)函數(shù)

OCCURS(<字符串表達式1>,<字符串表達式2>)功能:計算<字符串表達式1>在<字符串表達式2>中出現(xiàn)的次數(shù),若一次都沒出現(xiàn)過,則返回0。例:?OCCURS(“C”,“ABDCCFC”)輸出結果:3?OCCURS(“E”,“ABCDCFC”)輸出結果:0練習:?OCCURS(“rt”,“12rt54rt”)?OCCURS(“trr”,“fdshtrrtrrt”)?OCCURS(“trrr”,“fdshtrrtrrt”)3.5函數(shù)

3.5.2字符函數(shù)

9.求子串位置函數(shù)

格式:AT(<字符串表達式1>,<字符串表達式2>[,<數(shù)值表達式>])ATC(<字符串表達式1>,<字符串表達式2>[,<數(shù)值表達式>])功能:驗證<字符串表達式1>是否是<字符串表達式2>的子串,如果是返回<字符串1>在<字符串2>中的位置,如不是,返回0;ATC不區(qū)分大小寫。<數(shù)值表達式>可以省略,默認值為1,用于指定<字符串1>在<字符串2>中第幾次出現(xiàn)的首字母。例:?AT("C","ABCDE"),AT("C","abcd"),AT("C","CcCD",2),ATC("C","abcd")輸出結果:30333.5函數(shù)

3.5.2字符函數(shù)

10.字符串匹配函數(shù)

格式:LIKE(<字符串表達式1>,<字符串表達式2>)功能:比較2個字符串對應位置上的字符,若所有對應字符相匹配,則函數(shù)返回邏輯真(.T.),否則返回邏輯假(.F.)。<字符串1>中可以包含通配符“*”和“?”?!?“可以與任何數(shù)目的字符匹配,“?”可以與單個字符相匹配。例:?like(“a*b”,“afdfeb”)輸出結果:.T.例:?like(“a?b”,“afdfeb”)輸出結果:.F.例:?like("a?b","afb")輸出結果:.T.3.5函數(shù)

3.5.2字符函數(shù)練習

1、?len(“您好ma?”)輸出結果?2、?lower(“AVDDC”),upper(“acddf”)輸出結果?3、?rtrim("ABC")+ltrim("123")+alltrim("123abc")4、?left("tred",2)+right("3453",1)+substr("dfdfd",2)5、?stuff("add343",4,3,"123"),stuff("abcdef",1,0,"123")6、?chrtran("ABCDEFG","DCBA","1234")7、?Occurs(“123”,”12321232123”)8、?ATC("AC","ACDacb",2)9、?AT(“ac","ACDacb")3.5函數(shù)

3.5.3日期時間函數(shù)1.系統(tǒng)日期和時間函數(shù)DATE(

):用于返回當前系統(tǒng)日期,函數(shù)值為日期型;TIME(

):用于返回系統(tǒng)時間,格式為hh:mm:ss,函數(shù)值為字符型;DATETIME(

):用于返回當前系統(tǒng)日期時間,函數(shù)值為日期時間型。3.5函數(shù)

3.5.3日期時間函數(shù)2.求年份、月份、天數(shù)函數(shù)YEAR():指定的<日期表達式>或<日期時間表達式>中返回年份,函數(shù)值為4位年份值的數(shù)值型。MONTH():用于從指定的<日期表達式>或<日期時間表達式>中返回月份,函數(shù)值為數(shù)值型。DAY():用于從指定的<日期表達式>或<日期時間表達式>中返回天數(shù),函數(shù)值為數(shù)值型。例:?YEAR({^2013-9-24})輸出結果:2013例:?MONTH({^2013-9-24})輸出結果:9例:?DAY({^2013-9-24})輸出結果:243.5函數(shù)

3.5.3日期時間函數(shù)3.求小時、分鐘、秒數(shù)函數(shù)格式:HOUR(<日期時間表達式>)MINUTE(<日期時間表達式>)SEC(<日期時間表達式>)功能:HOUR(

)按24小時制返回<日期時間表達式>中的小時部分;MINUTE(

)返回<日期時間表達式>中的分鐘部分;SEC(

)返回<日期時間表達式>中的秒數(shù)部分。3.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)1.字符轉(zhuǎn)換為ASCII碼函數(shù)ASC(<字符串表達式>)功能:返回<字符串表達式>中第一個字符的ASCII碼,返回值為整型數(shù)據(jù)。例:?asc(“agfdfd”)輸出結果:972.ASCII碼轉(zhuǎn)換為字符函數(shù)格式:CHR(<整型表達式>)功能:將<整型表達式>的ASCII碼值轉(zhuǎn)換成相應的字符,返回值為字符型數(shù)據(jù)。例:?chr(98)輸出結果:b3.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.數(shù)值轉(zhuǎn)換成字符串函數(shù)格式:STR(<數(shù)值型表達式>[,<長度>[,<小數(shù)位數(shù)>]])功能:將<數(shù)值型表達式>的值轉(zhuǎn)換成字符串,轉(zhuǎn)換時根據(jù)需要自動四舍五入;<長度>指定結果字符串的長度,默認為10;<小數(shù)位數(shù)>指定數(shù)值型的保留小數(shù)位數(shù),默認為0。1)若<長度>大于實際長度,則結果字符串前補空格以達到規(guī)定<長度>要求。2)若<長度>小于數(shù)值的整數(shù)部分,則數(shù)值溢出,返回一串“*”號。3.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)3.數(shù)值轉(zhuǎn)換成字符串函數(shù)3)若<長度>小于<數(shù)值型表達式>值的總位數(shù)長度(含小數(shù)點),但大于或等于整數(shù)長度,返回全部整數(shù)位數(shù)和部分小數(shù),多余的小數(shù)自動四舍五入。例:x=-123.456?STR(x,9,2),STR(x,6,2),STR(x,3),STR(x,8),STR(x)輸出結果:-123.46-123.5***-123-1233.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)4.字符串轉(zhuǎn)換成數(shù)字函數(shù)格式:VAL(<字符串表達式>)功能:將<字符串表達式>中的各數(shù)字字符(包括正負符號、小數(shù)點)按從左到右依次處理轉(zhuǎn)換為對應的數(shù)值型數(shù)據(jù),若遇到非數(shù)字字符(前導空格除外),整個轉(zhuǎn)換就停止,若一開始就是非數(shù)字字符,則返回數(shù)據(jù)型0。例:?VAL("-123.45ab"),VAL("123ab45"),VAL("123"),VAL("ABC")輸出結果:-123.45123.00123.000.003.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)5.日期型或日期時間型轉(zhuǎn)換為字符串函數(shù)格式:DTOC(<日期型表達式>|<日期時間型表達式>[,<1>])TTOC(<日期時間型表達式>[,<1>])功能:DTOC()將日期型數(shù)據(jù)或日期時間型數(shù)據(jù)的日期部分轉(zhuǎn)換成字符串數(shù)據(jù);TTOC()將日期時間型數(shù)據(jù)轉(zhuǎn)化成字符串數(shù)據(jù)。若加上選項<1>,則字符串的格式總是YYYYMMDD或YYYYMMDDHHMMSS。3.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)5.日期型或日期時間型轉(zhuǎn)換為字符串函數(shù)例:x={^2012-08-16}y={^2012-08-16,12:32:25}?DTOC(x),DTOC(x,1)輸出結果:08/16/1220120816?TTOC(y),TTOC(y,1)08/16/1212:32:25PM201208161232253.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)6.字符串轉(zhuǎn)換成日期型或日期時間型函數(shù)格式:CTOD(<字符串表達式>)CTOT(<字符串表達式>)功能:CTOD()將<字符串表達式>轉(zhuǎn)換成日期型數(shù)據(jù);CTOT()將<字符串表達式>轉(zhuǎn)換成日期時間型數(shù)據(jù)。<字符串表達式>中的日期部分格式要與日期設置命令(SETDATETO、SETCENTURYON/OFF)的格式相一致3.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)6.字符串轉(zhuǎn)換成日期型或日期時間型函數(shù)SetdatatoMDYX=“08/16/12”?CTOD(x)輸出結果:08/16/12SetdatatoYMDSetcenturyonY=“2012-08-16”?CTOD(Y)輸出結果:2012/08/163.5函數(shù)

3.5.4數(shù)據(jù)類型轉(zhuǎn)換函數(shù)練習1、x={^2012-09-27,12:32:23}?year(x),month(x),day(x),hour(x),minute(x),sec(x)2、?chr(asc(“bfdfdfd”))3、?Str(12345.34,3,2)4、?Str(12345.34,7,2)5、?Val(“343fgfd”)6、?DTOC({^2013-09-27},1)3.5函數(shù)

3.5.5測試函數(shù)1.空值(NULL)測試函數(shù)ISNULL(<表達式>):判斷一個<表達式>的運算結果是否為NULL值,若是NULL值則返回邏輯真(.T.),否則返回邏輯假(.F.)。2.“空”值測試函數(shù)EMPTY(<表達式>):判斷指定<表達式>的運算結果是否為“空”值,若是則返回邏輯真(.T.),否則返回邏輯假(.F.)。不同數(shù)據(jù)類型的“空”值是有不同規(guī)定的,如下圖。3.5函數(shù)

3.5.5測試函數(shù)3.數(shù)據(jù)類型測試函數(shù)格式:VARTYPE(<表達式>[,<邏輯表達式>])功能:測試<表達式>的數(shù)據(jù)類型,返回用字母代表的數(shù)據(jù)類型;各數(shù)據(jù)類型對應的字母如下表。3.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論