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

下載本文檔

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

文檔簡介

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

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

2.數值型

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

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

4.浮點型

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

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

6.日期型

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

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

8.邏輯型

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

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

10.備注型

備注型(memo)數據是表示、存放較多字符的數據類型。可以把它看成是字符型數據的特殊形式,用字母M表示。備注型數據沒有數據長度的限制,但會受限于磁盤空間容量。3.1數據類型 11.通用型

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

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

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

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

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

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

3.2常量

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

貨幣型常量默認保留4位小數3.2常量

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

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

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

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

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

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

3.3.1變量的命名規則

1.由字母、數字、漢字和下劃線組成,字母不區分大小寫;

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

3.不能使用VFP系統的保留字;

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

3.3.2字段變量

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

1.內存變量的賦值

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

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

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

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

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

?x??y3.3變量 3.內存變量的顯示

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

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

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

4.內存變量的清除

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

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

命令格式: DIMENSION<數組名>(<下標上限1>[,<下標上限2>])[,…]) DECLARE<數組名>(<下標上限1>[,<下標上限2>])[,…])功能:定義一個或多個數組,DIMENSION和DECLARE功能完全相同,根據下標上限定義的個數不同,分為一維數組和二維數組,如無下標上限2則為一維數組。3.3變量3.3.5數組變量1)數組定義后,各數組元素的初始值都為邏輯值.F.。同一數組中,根據賦值不同,各數組元素的數據類型也可以不同。2)下標上限是數據元素的個數(序號上限),下標下界(起始序號)值固定為13)可以用一維數組的形式訪問二維數組。 例: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系統變量

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

3.4表達式

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

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

3.4表達式

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

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.日期表達式

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

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

例: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)數值型與貨幣型根據數據的大小(包括符號位)進行比較;2)日期型和日期時間型比較時,越早的日期其日期時間越小,越晚的日期其日期時間越大;3)邏輯型數據比較時,.T.比.F.大;4)字符型數據(字符串)比較時,將兩個字符串的字符按自左向右的順序依次逐個進行比較;5)雙等號運算符(“==”)比較兩個字符串時,只有當兩個字符串完全相同時,運算結果為邏輯真(.T.),否則為邏輯假(.F.);6)單等號運算符(“=”)比較兩個字符串時,可用命令SETEXACTON/OFF來設置其是否為精確比較。當SETEXACTON時,處于精確比較狀態,先對較短字符后面加上空格再比較,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.繼續輸入:SETEXACTON?x=y,y=x,z=x,y=z,x==y,y==x輸出結果:.T..T..F..F..F..F.3.4表達式

5.邏輯表達式

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

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

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

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

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

3.5.1數值函數4.求整數函數INT(<數值表達式>):INT求出數值表達式的整數部分;CEILING(<數值表達式>):求出大于或等于數值表達式值的最小整數;FLOOR(<數值表達式>):求出小于或等于數值表達式值的最大例:?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函數

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

3.5.1數值函數6.求余數函數

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

-1-22

3.5函數

3.5.1數值函數7.求最大值和最小值函數MAX(<數值表達式1>,<數值表達式2>[,<數值表達式3>…])MIN(<數值表達式1>,<數值表達式2>[,<數值表達式3>…])功能:MAX求出所有數值表達式中的最大值;MIN求出所有數值表達式中的最小值。例: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函數

3.5.1數值函數練習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函數

3.5.2字符函數

1.求字符串長度函數

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

3.5函數

3.5.2字符函數

2.生成空格字符函數

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

3.5.2字符函數

3.大小寫轉換函數

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

3.5函數

3.5.2字符函數

4.去除空格函數

格式: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函數

3.5.2字符函數

5.取子串函數

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

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

3.5函數

3.5.2字符函數

6.子串替換函數

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函數

3.5.2字符函數

7.字符替換函數

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

3.5.2字符函數

7.字符替換函數

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函數

3.5.2字符函數

8.子串出現次數函數

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

3.5.2字符函數

9.求子串位置函數

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

3.5.2字符函數

10.字符串匹配函數

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

3.5.2字符函數練習

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函數

3.5.3日期時間函數1.系統日期和時間函數DATE(

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

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

):用于返回當前系統日期時間,函數值為日期時間型。3.5函數

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

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

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

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

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

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

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

3.5.4數據類型轉換函數3.數值轉換成字符串函數3)若<長度>小于<數值型表達式>值的總位數長度(含小數點),但大于或等于整數長度,返回全部整數位數和部分小數,多余的小數自動四舍五入。例: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函數

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

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

3.5.4數據類型轉換函數5.日期型或日期時間型轉換為字符串函數例: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函數

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

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

3.5.4數據類型轉換函數練習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函數

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

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

溫馨提示

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

評論

0/150

提交評論