- 相關(guān)推薦
2017計算機二級考試《VFP》第三章復(fù)習(xí)重點
以下是百分網(wǎng)小編整理的2017計算機二級考試《VFP》第三章復(fù)習(xí)重點知識,希望對您的學(xué)習(xí)有所幫助!
第三章 數(shù)據(jù)與數(shù)據(jù)運算
VISUAL FOXPRO的基本數(shù)據(jù)元素:
(1) 常量、變量、表達式。
(2) 常用函數(shù):字符處理函數(shù)、數(shù)值計算函數(shù)、日期時間函數(shù)、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)、測試函數(shù)。
1.常量
常量是指在程序運行過程中始終不變化的數(shù)據(jù),又稱為常數(shù)。在VFP 中常量可分為六種類型:
常量名稱 |
說 明 |
字符型常量 |
字符型常量是用定界符括起來的由字符、空格或數(shù)字所組成的字符串,定界符可以是單引號(’ ’)、雙引號(” ”)和方括號([ ])。如果一種定界符本身已是字符型常量的一個組成部分,則應(yīng)選擇另一種定界符為該字符串定界。例如:’副教授’、”abc”、” [數(shù)據(jù)庫系統(tǒng)]” 是合法常量,而””xyz””、’It’s’ 是非法常量。 |
數(shù)值型常量 |
數(shù)值型常量又稱為常數(shù),可以是整數(shù)、實數(shù)或科學(xué)記數(shù)法。例如85,貨幣型常-56.2, 1.256E+3, 3.8E-2等在程序中都是數(shù)值型常量。 |
貨幣型常量 |
在數(shù)字前加上貨幣符號“$”就是貨幣型常量,小數(shù)位系統(tǒng)固定為4位。如$1254.56,表示貨幣值1254.5600。 |
邏輯型常量 |
邏輯型常量只有兩個邏輯值:“真”與“假”。用.T.(.t.)、.Y.(.y.) 表示邏輯“真”,用.F.(.f.)、.N.(.n.)表示邏輯值“假”。在書寫時應(yīng)注意.T.或.F.兩邊的小圓點不能省略。 |
日期型常量 |
日期型常量用于表示日期的常量值。在Visual FoxPro6.0中日期型常量用花括號“{ }”作為定界符括起來,其書寫格式視SET DATE命令的設(shè)置而定,系統(tǒng)默認格式為:{^yyyy-mm-dd}(或{^yyyy/mm/dd}),例如:{^2003/08/18}(或{^2003-10-18})。 |
日期時間常量 |
日期時間型常量用于表示日期時間的常量值。日期時間常量也必須用花括號括起來,其書寫格式視SET DATE命令的設(shè)置而定,系統(tǒng)默認格式為:{^yyyy-mm-dd[hh[:mm[:ss]]][am|pm]}( 或{^yyyy/mm/dd [hh[:mm[:ss]]][am|pm]}), 例如:{^2004/09/19 10:04am}、{^2004-06-21 11:32:14pm}。需要注意的是日期和時間之間必須有空格。如果在時間日期型常量中只有時間,系統(tǒng)默認格式為:[hh:mm:mm am|pm],例如:[10:12:45 pm]。 |
2. 變量
變量是在操作過程中可以改變其取值或數(shù)據(jù)類型的數(shù)據(jù)項。在Visual FoxPro系統(tǒng)中變量分為字段變量、內(nèi)存變量(簡單變量、數(shù)組變量)2類。此外,作為面向?qū)ο蟮某绦蛘Z言,Visual FoxPro在進行面向?qū)ο蟮某绦蛟O(shè)計中引入了對象的概念,對象實質(zhì)上也是一類變量。
確定一個變量,需要確定其三個要素:變量名、數(shù)據(jù)類型和變量值。
(1).命名約定
使用字母,下劃線和數(shù)字命名。內(nèi)存變量一般建議不采用漢字命名;命名以字母或下劃線開頭;除自由表中字段名、索引的TAG 標識名最多只能10 個字符外,其他的命名可使用1~128 個字符;
避免使用 Visual FoxPro 的保留字;文件名的命名應(yīng)遵循操作系統(tǒng)的約定。
(2).字段變量
字段變量是數(shù)據(jù)庫管理系統(tǒng)中的一個重要概念。它與記錄一縱一橫構(gòu)成了數(shù)據(jù)表的基本結(jié)構(gòu)。一個數(shù)據(jù)庫是由若干相關(guān)的數(shù)據(jù)表組成,一個數(shù)據(jù)表是由若干個具有相同屬性的記錄組成,而每一個記錄又是由若干個字段組成。字段變量就是指數(shù)據(jù)表中已定義的任意一個字段。
我們可以這樣理解:在一個數(shù)據(jù)表中,同一個字段名下有若干個數(shù)據(jù)項,而數(shù)據(jù)項的值取決于該數(shù)據(jù)項所在記錄行的變化,所以稱它為字段變量。字段變量的數(shù)據(jù)類型與該字段定義的類型一致。字段變量的類型有數(shù)值型、浮點型、整型、雙精度型、字符型、邏輯型、日期型、時間日期型、備注型和通用型等。使用字段變量首先要建立數(shù)據(jù)表,建立數(shù)據(jù)表時首先定義的就是字段變量屬性(名字、類型和長度)。字段變量的定義及字段變量數(shù)據(jù)的輸入、輸出需要在表設(shè)計器中進行。
3.內(nèi)存變量
內(nèi)存變量可用來存儲數(shù)據(jù),定義內(nèi)存變量時需為它取名并賦初值,內(nèi)存變量是一個臨時變量,內(nèi)存變量建立后存儲于內(nèi)存中,以便在需要時引用它的內(nèi)容。當退出程序時,變量所占的內(nèi)存自動釋放。Visual FoxPro6.0中共定義了6種類型的內(nèi)存變量:數(shù)值型、字符型、日期型、日期時間型、邏輯型和貨幣型。內(nèi)存變量可分為簡單變量和數(shù)組變量兩類。
(1)內(nèi)存變量的建立
建立內(nèi)存變量就是給內(nèi)存變量賦值。內(nèi)存變量賦值既可定義一個新的內(nèi)存變量,也可改變已有內(nèi)存變量的值或數(shù)據(jù)類型。
【格式1】:〈簡單變量〉=<表達式〉
【格式2】:STORE <表達式> TO <簡單變量表>
【功能】: 計算〈表達式〉,然后將計算結(jié)果賦給簡單變量。使用格式1,一次可給一個簡單變量賦值;使用格式2,一次可給一批簡單變量賦值,各變量之間用逗號分隔。
(2).內(nèi)存變量的輸出格式1: ? <表達式表>格式1: ?? <表達式表>功能: 計算表達式的值,并將表達式的值顯示在屏幕上。
【說明】
(1)命令格式中的? 表示從屏幕下一行的第一列起顯示結(jié)果 ,?? 表示從當前行的當前列起顯示結(jié)果。
(2)<表達式表>是表示用逗號隔開的多個表達式組,命令執(zhí)行時遇逗號就空一格。
4. 數(shù)組變量
數(shù)組是具有相同的變量名、不同下標值的一組變量。數(shù)組中的每個數(shù)據(jù)值稱為數(shù)組元素,數(shù)組中元素的
順序號稱為下標,每個數(shù)組元素在數(shù)組中的位置是固定的,數(shù)組中的元素可以通過下標來進行區(qū)分。
數(shù)組在使用時要用DIMENSION或DECLARE命令來定義。這兩個命令完全相同,都是用于建立一維或二維數(shù)組。在VisualFoxPro6.0中,同一個數(shù)組元素在不同時刻可以存儲不同類型的數(shù)據(jù),在同一數(shù)組中,每個數(shù)組元素可以被賦予不同數(shù)據(jù)類型的值。
(1)數(shù)組的定義
數(shù)組必須先定義后使用,定義數(shù)組是向系統(tǒng)申請數(shù)組元素在內(nèi)存中的存儲空間。
【格式】:
DIMENSION | DECLARE <數(shù)組名1>(<數(shù)值表達式1>[,<數(shù)值表達式2>])
[,<數(shù)組名2>(<數(shù)值表達式3>[,<數(shù)值表達式4>])…]
【功能】:定義指定的各個數(shù)組。
(2)數(shù)組的賦值與引用
數(shù)組元素的賦值與引用,與普通內(nèi)存變量的規(guī)則相同。
5.系統(tǒng)變量
系統(tǒng)變量是Visual FoxPro 系統(tǒng)特有的內(nèi)存變量,它由Visual FoxPro 系統(tǒng)定義、維護。系統(tǒng)變量有很多,其變量名均以下劃線“_”開始,因此在定義內(nèi)存變量和數(shù)組變量名時,不要以下劃線開始,以免與系統(tǒng)變量名沖突。系統(tǒng)變量設(shè)置、保存了很多系統(tǒng)的狀態(tài)、特性,了解、熟悉并且充分地運用系統(tǒng)變量,會給數(shù)據(jù)庫系統(tǒng)的操作、管理帶來很多方便,特別是開發(fā)應(yīng)用程序時更為突出,學(xué)習(xí)時可對此有所關(guān)注。
6.表達式在Visual FoxPro系統(tǒng)中,表達式是由常量、變量、函數(shù)及其他數(shù)據(jù)容器單獨或與運算符組成的有意義的運算式子。
運算符是對數(shù)據(jù)對象進行加工處理的符號,根據(jù)其處理數(shù)據(jù)對象的數(shù)據(jù)類型,運算符分為算術(shù)(數(shù)值)運算符、字符運算符、日期時間運算符、邏輯運算符和關(guān)系運算符五類,相應(yīng)的,表達式也分為算術(shù)表達式、字符表達式、日期時間表達式、邏輯表達式和關(guān)系表達式五類。
在一個表達式中可能包含多個由不同運算符連接起來的、具有不同數(shù)據(jù)類型的數(shù)據(jù)對象,但任何運算符兩側(cè)的數(shù)據(jù)對象必須具有相同數(shù)據(jù)類型,否則運算將會出錯;由于表達式中有多種運算,不同的運算順序可能得出不同結(jié)果,甚至出現(xiàn)運算錯誤,因此當表達式中包含多種運算時,必須按一定順序施行相應(yīng)運算,才能保證運算的合理性和結(jié)果的正確性、惟一性。用戶也可以通過給表達式加圓括號的方式,改變其默認運算順序。在Visual FoxPro 系統(tǒng)中,各類運算的優(yōu)先順序如下:
圓括號>算術(shù)和日期運算>字符串運算>關(guān)系運算>邏輯運算同一類運算符也有一定的運算優(yōu)先順序,這在各類表達式中分別介紹。如果多個同一級別的運算,則按在表達式中出現(xiàn)的先后順序進行運算。
(1)算術(shù)表達式
算術(shù)表達式又稱數(shù)值表達式,其運算對象和運算結(jié)果均為數(shù)值型數(shù)據(jù)。數(shù)值運算符的功能及運算優(yōu)先順序,如表所示。表中運算符按運算優(yōu)先級別從高到低順序排列。
表算術(shù)運算符
運算符 功能 表 達 式 舉 例 運算結(jié)果 優(yōu)先級別
( ) 圓括號 (2-5)*(3+2) -15 最高
- 取相反數(shù) -(3-8) 5
**、^ 乘冪 2**5、3^2 32、9
*、/ 乘、除 2*10、25/5 20、5
% 取余數(shù) 20%5 0
+、- 加、減 36+19、29-47 55、-18 最低
(2).字符表達式
字符表達式是由字符運算符將字符型數(shù)據(jù)對象連接起來進行運算的式子。字符運算的對象是字符型數(shù)據(jù)對象,運算結(jié)果是字符常量或邏輯常量。"+"與 "-"都是字符連接運算符,都將兩字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部后再連接;“$”運算實質(zhì)上是比較兩個串的包含關(guān)系,因此有些書籍中將其歸于關(guān)系運算,其作用是比較、判斷串1 是否為串2的子串,如果串1是串2的子串,運算結(jié)果為“真”,否則為“假”。所謂子串,如果串1中所有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串。
表字符運算符
運算符 功能 表達式舉例 運算結(jié)果
+ 串1+串2:兩串順序相連接 ’12 ‘+’56’ ’12 56’
- 串1-串2:串1尾空格移到串2尾
后再順序相連接 ’12 ‘-‘56’ ‘1256 ‘
$ 串1$串2:串1是否為串2子串 ‘1234’$ ‘12345’ .T.
‘ 1234’$‘34512’ .F.
兩個連接運算的優(yōu)先級別相同,但高于$的比較運算。
例: LEN1=”Visual FoxPro6.0 ” LEN2=”數(shù)據(jù)庫教程” ?
LEN1+LEN2 &&結(jié)果為:Visual FoxPro6.0 數(shù)據(jù)庫教程 ?
LEN1-LEN2 &&結(jié)果為:Visual FoxPro6.0數(shù)據(jù)庫教程
? len(LEN1-LEN2) && 結(jié)果為:28
(3).日期表達式
由日期運算符將一個日期型或日期時間型數(shù)據(jù)與一個數(shù)值型數(shù)據(jù)連接而成的運算式稱為日期表達式。日期運算符分為“+”和“-”兩種,其作用分別是在日期數(shù)據(jù)上增加或減少一個天數(shù),在日期時間數(shù)據(jù)上增加或減少一個秒數(shù)。兩個運算的優(yōu)先級別相同。
日期時間操作符有:
+:添加一個天數(shù)或秒數(shù)
-:減少一個天數(shù)或秒數(shù)
注意:日期和日期、日期時間和日期時間只能相減,不能相加。(p64)
(4).關(guān)系表達式
由關(guān)系運算符連接兩個同類數(shù)據(jù)對象進行關(guān)系比較的運算式稱為關(guān)系表達式。關(guān)
系表達式的值為邏輯值,關(guān)系表達式成立則其值為“真”,否則為“假”。
表 關(guān)系運算符
運算符 功能 表 達 式舉例 結(jié)果
< 小于 15<4*6 .T.
> 大于 ‘A’ > ‘1’ .T.
= 等于 2+4 = 3*5 .F.
<>、#、!= 不等于 5 <> -10 .T.
關(guān)系運算符的優(yōu)先級別相同。關(guān)系表達式運算時,就是比較同類兩數(shù)據(jù)對象的“大小”,對于不同類型的數(shù)據(jù),其“大小”或者是值的大小,或者是先后順序。日期或日期時間數(shù)據(jù)以日期或時間的先后順序為序。在Visual FoxPro系統(tǒng)中,字符型數(shù)據(jù)的比較相對復(fù)雜,默認規(guī)則為:
1)單個字符
單個字符的比較是以字符ASCII碼的大小,作為字符的“大小”,也就是先后順序;
2)漢字
系統(tǒng)默認按漢字的拼音排列漢字的順序,也就是以漢字的拼音順序比較“大小”
3)字符串
兩個字符串進行比較的基本原則是從左到右逐個字符進行比較。
當兩串做“==”和“=”比較時,運算結(jié)果與SET EXACT ON/OFF的設(shè)置有關(guān)。默認是OFF狀態(tài)。
● 精確比較:用運算符==進行兩串的精確比較時,只有當兩串長度相同,字符相同,排列一致時才成立;(EXACT ON或OFF)
● 相等比較:用運算符=進行兩串比較,當處于OFF狀態(tài)時,只要右邊的字符串與左邊字符串的前部分內(nèi)容相匹配,結(jié)果就為真.T.。例如:“abc”=“abd”為假, “abc”=“abcde”為假,“abcde”=“abc”為真;當處于ON狀態(tài)時,先在較短字符串的尾部加上若干個空格,使兩個字符串長度相等,然后再進行比較。例如: “abc”=“abcde”為假,“ab”=“ab ”為真;
● 大小比較:用運算符< 或 >進行兩串比較時,比較到第1個不相同字符為止,否則,長度較長的串較“大”;
● 其他比較:除上述運算符之外的其他運算符<>、<=和>=的比較,均可看作是兩個運算符以邏輯“或”的關(guān)系構(gòu)成的復(fù)合運算;
(5).邏輯表達式
由邏輯運算將邏輯型數(shù)據(jù)對象連接而成的式子稱為邏輯表達式。邏輯表達式的運算對象與運算結(jié)果均為邏輯型數(shù)據(jù)。表為邏輯運算符的功能。邏輯運算符前后一般要加圓點“.”標記,以示區(qū)別。
表 邏輯運算符
運算符 功能 優(yōu)先級別
( ) 圓括號 最高
.NOT.或! 邏輯非
.AND. 邏輯與
.OR. 邏輯或 最低
對于各種邏輯運算,其運算規(guī)則可由邏輯運算真值表確定,表所示就是邏輯運算真值表。
表 邏輯運算真值表
A B A .AND.B A .OR. B .NOTA
T T T T F
T F F T F
F T F T T
F F F F T
例如:
?17>33 .AND.”A”<”a” && 值為.F.?
17>13 .or."A"<"a" .and..not..t. && 值為.T.
7.函數(shù)
Visual FoxPro 系統(tǒng)中,函數(shù)是一段程序代碼,用來進行一些特定的運算或操作,支持和完善命令的功能,幫助用戶完成各種操作與管理。
Visual FoxPro 系統(tǒng)有數(shù)百種不同函數(shù)。按函數(shù)提供方式,可分為系統(tǒng)函數(shù)和用戶自定義函數(shù);按函數(shù)運算、處理對象和結(jié)果的數(shù)據(jù)類型,可分為數(shù)值型函數(shù)、字符型函數(shù)、邏輯型函數(shù)、日期時間型函數(shù)、數(shù)據(jù)轉(zhuǎn)換函數(shù)等,按函數(shù)的功能和特點,可分為數(shù)據(jù)處理函數(shù)、數(shù)據(jù)庫操作函數(shù)、文件管理函數(shù)、鍵盤和鼠標處理函數(shù)、輸出函數(shù)、窗口界面操作函數(shù)、程序設(shè)計函數(shù)、數(shù)據(jù)庫環(huán)境函數(shù)、網(wǎng)絡(luò)操作函數(shù)、系統(tǒng)信息函數(shù)和動態(tài)數(shù)據(jù)操作函數(shù)等。
Visual FoxPro 的函數(shù)由函數(shù)名與自變量兩部分組成。標準函數(shù)是Visual FoxPro 系統(tǒng)提供的系統(tǒng)函數(shù),其函數(shù)名是Visual FoxPro 保留字,自定義函數(shù)是用戶自已定義的函數(shù),函數(shù)名用戶指定;自變量必須用圓括號對括起來,如有多個自變量,各自變量以逗號分隔;有些函數(shù)可省略自變量,或不需自變量,但也必須保留括號;自變量數(shù)據(jù)類型由函數(shù)的定義確定,數(shù)據(jù)形式可以是常量、變量、函數(shù)或表達式等。函數(shù)是一類數(shù)據(jù)項,除個別(如宏替換)函數(shù)外,函數(shù)都不能像命令一樣單獨使用,只能作為命令的一部分進行操作運算。
(1).數(shù)值函數(shù)
數(shù)值函數(shù)用于數(shù)值運算,其自變量與函數(shù)都是數(shù)值型數(shù)據(jù)。
1).取絕對值函數(shù)ABS( )
【格式】ABS(<數(shù)值表達式>)
【功能】計算數(shù)值表達式的值,并返回該值的絕對值。
【例】 ? ABS(-43.29) 43.292).指數(shù)函數(shù)EXP( )
【格式】EXP(<數(shù)值表達式>)
【功能】求以e 為底、數(shù)值表達式值為指數(shù)的冪,即返回該數(shù)的指數(shù)值。
3).取整函數(shù)INT( )
【格式】INT(<數(shù)值表達式>)
【功能】計算數(shù)值表達式的值,返回該值的整數(shù)部分。
【例】 ? INT(-76.93) -764).自然對數(shù)函數(shù)LOG( )
【格式】LOG(<數(shù)值表達式>)
【功能】求數(shù)值表達式的自然對數(shù)。數(shù)值表達式的值必須為正數(shù)。
5).平方根函數(shù)SQRT( )
【格式】SQRT(<數(shù)值表達式>)
【功能】求非負數(shù)值表達式的平方根。
【例】 ? SQRT(5*5)
5.00
6).最大值函數(shù)MAX( )和最小值函數(shù)MIN( )
【格式】
MAX(<數(shù)值表達式1>,< 數(shù)值表達式2>[,< 數(shù)值表達式3>...])
MIN(<數(shù)值表達式1>,< 數(shù)值表達式2>[,< 數(shù)值表達式3>...])
【功能】返回數(shù)值表達式中的最大值MAX( )和最小值MIN( )。
7).求余數(shù)函數(shù)MOD( )
【格式】MOD(<被除數(shù)>,<除數(shù)>)
【功能】返回<被除數(shù)>除以<除數(shù)>得到的余數(shù)值。
【說明】在求摸運算中應(yīng)注意以下幾點:
(1) 除數(shù)不能為0。
(2) 除數(shù)為正數(shù),返回正數(shù);如果為負數(shù),返回負數(shù)。
(3) 如果被除數(shù)與除數(shù)能夠整除,結(jié)果為0。
(4) 如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)同號,則結(jié)果為被除數(shù)除以除數(shù)而得到的余數(shù)。即:MOD(X1,X2)=X1-INT(X1/X2)*X2 。
(5) 如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)異號,則結(jié)果為被除數(shù)除以除數(shù)而得到的余數(shù)再加上除數(shù)。來源:考試大
即:MOD(X1,X2)=X1-INT(X1/X2)*X2+X2 。
8).四舍五入函數(shù)ROUND( )
【格式】ROUND(<數(shù)值表達式1>,< 數(shù)值表達式2>)
【功能】返回數(shù)值表達式1四舍五入的值, 數(shù)值表達式2表示保留的小數(shù)位數(shù)。
【ày】 ? R0UND(3.14159£?4),ROUND(1234.9962,0),ROUND(1234.567,-1)
3.1416 1235 1230
9).π函數(shù)PI( )
【格式】PI( )
【功能】返回常量π的近似值。
10)。隨機函數(shù)RAND( )
【格式】RAND(<數(shù)值表達式>)
【功能】產(chǎn)生0-1之間的隨機數(shù)。
(2).字符函數(shù)
字符函數(shù)是處理字符型數(shù)據(jù)的函數(shù),其自變量或函數(shù)值中至少有一個是字符型數(shù)據(jù)。函數(shù)中涉及的字符型數(shù)據(jù)項,均以cExp表示。
1).子串位置函數(shù)
【格式】AT(,< cExp 2>)
【功能】返回串cExp1在串cExp2中的起始位置。函數(shù)值為整數(shù)。如果串cExp2不包含串cExp1,函數(shù)返回值為零。
2).取左子串函數(shù)LEFT( )
【格式】LEFT(,)
【功能】返回從cExp串中第一個字符開始,截取nExp個字符的子串。
3).取右子串函數(shù)RIGHT( )
【格式】RIGHT(,< nExp>)
【功能】返回從cExp串中右邊第一個字符開始,截取nExp個字符的子串。
4).取子串函數(shù)SUBSTR( )
【格式】SUBSTR (, [,] )
【功能】返回從串cExp 中第nExp1 個字符開始,截取nExp2 個字符的子串。
5).字符串長度函數(shù)LEN( )
【格式】LEN()
【功能】返回cExp串的字符數(shù)(長度)。函數(shù)值為N型。
【例】 ? LEN(”Visual FoxPro8.0”)16
6).刪除字符串前導(dǎo)空格函數(shù)LTRIM( )
【格式】LTRIM()
【功能】刪除cExp串的前導(dǎo)空格字符。
7).刪除字符串尾部空格函數(shù)RTRIM( ) | TRIM( )
【格式】RTRIM | TRIM()
【功能】刪除cExp串尾部空格字符。
8).空格函數(shù)SPACE( )
【格式】SPACE ()
【功能】返回一個包含nExp 個空格的字符串。
【例】 X=SPACE(2)+”學(xué)生情況”+ SPACE(4) ?
LEN(X),LEN(TRIM(X)),LEN(LTRIM))14 10 129).字符串替換函數(shù)STUFF( )
【格式】STUFF(,,,)
【功能】從nExp1指定位置開始,用cExp2串替換 cExp1串中nExp2個字符。
【ày】X1="ABCDEFG"
X2="abcd"
? STUFF(X1,4,3,X2),STUFF(X1,1,4,X2)
ABCabcdG abcdEFG
10).大小寫轉(zhuǎn)換函數(shù)LOWER( ) 和UPPER( )
【格式】LOWER ()
UPPER ()
【功能】LOWER( )將cExp串中字母全部變成小寫字母,UPPER( )將cExp串中字母全部變成大寫字母,其它字符不變。
11).字符匹配函數(shù)LINK( )
【格式】LIKE(,)
【功能】比較兩個字符串對應(yīng)位置上的字符,若所有對應(yīng)字符都相匹配,函數(shù)返回邏輯真(.T.),否則返回邏輯假(.F.)
【說明】 中可以使用通配符*和?。*可以與任何數(shù)目的字符相匹配,?可以與任何單個字符相匹配。
【例】X=“abc”
Y=“abcd”
? LIKE(X,Y),LIKE(“ab*”,X),LIKE(“a*”,Y),LIKE(“?b”,X)
.F. .T. .T. .F.
(3).日期時間函數(shù)(p73)
日期時間函數(shù)是處理日期型或日期時間型數(shù)據(jù)的函數(shù)。其自變量為日期型表達式dExp或日期時間型表達式tExp。
1).系統(tǒng)日期函數(shù)DATE( )
【格式】DATE()
【功能】返回當前系統(tǒng)日期,此日期由系統(tǒng)設(shè)置。函數(shù)值為D型。
2).系統(tǒng)時間函數(shù)TIME( )
【格式】TIME([])
【功能】返回當前系統(tǒng)時間,時間顯示格式為hh:mm:ss。是以24小時指制表示的。函數(shù)值為C型。
3).日期函數(shù)DAY( )
【格式】DAY()
【功能】返回指定的dExp式中的天數(shù)。函數(shù)值為N型
4).星期函數(shù)DOW( )、CDOW( )
【格式】DOW()
CDOW()
【功能】DOW( )函數(shù)返回dExp式中星期的數(shù)值,用1~7表示星期日~星期六。函數(shù)值為N型。CDOW( ) 函數(shù)返回dExp式中星期的英文名稱。函數(shù)值為C型。
5).月份函數(shù)MONTH( )、CMONTH( )
【格式】MONTH()
CMONTH()
【功能】MONTH( )函數(shù)返回dExp 式中月份數(shù)。函數(shù)值為N 型。CMONTH( )函數(shù)則返回月份的英文名。函數(shù)值為C 型。
6).年份函數(shù)YEAR( )
【格式】YEAR()
【功能】函數(shù)返回dExp 式中年份值。函數(shù)值為N 型。
(4). 轉(zhuǎn)換函數(shù)
在數(shù)據(jù)庫應(yīng)用的過程中,經(jīng)常要將不同數(shù)據(jù)類型的數(shù)據(jù)進行相應(yīng)轉(zhuǎn)換,滿足實際應(yīng)用的需要。Visual FoxPro系統(tǒng)提供了若干個轉(zhuǎn)換函數(shù),較好地解決了數(shù)據(jù)類型轉(zhuǎn)換的問題。
1).ASCII碼函數(shù)ASC( )
【格式】ASC ()
【功能】返回cExp串首字符的ASCII碼值。函數(shù)值為N型。
【例】 ? ASC(“abc”) && 結(jié)果為:97
2).ASCII 字符函數(shù)CHR( )
【格式】CHR()
【功能】返回以nExp 值為ASCII 碼的ASCII 字符。函數(shù)值為C 型。
【例】 ? CHR(99) && 結(jié)果為:c
3).字符日期型轉(zhuǎn)換函數(shù)CTOD( )
【格式】CTOD()
【功能】把“××/××/××”格式的cExp串轉(zhuǎn)換成對應(yīng)日期值。函數(shù)值為D型。
【ày】 DA=”12/12/99”
? CTOD(DA)
12/12/99
4).日期字符型轉(zhuǎn)換函數(shù)DTOC( )
【格式】DTOC([, 1])
【功能】把日期dExp轉(zhuǎn)換成相應(yīng)的字符串。函數(shù)值為C型。
【ày】 D={^2004/11/24}
DT=DTOC(D)
? DT
?? LEN(DT)
11/24/04 8
5).數(shù)值轉(zhuǎn)換成字符串函數(shù)STR( )
【格式】STR([,< nExp2>][,< nExp3>])
【功能】將nExp1 的數(shù)值轉(zhuǎn)換成字符串形式。函數(shù)值為C 型。
【例】 ?
STR(1324.46,6,1) 1324.5 ?
STR(1324.46,8,3) , STR(1324.46,3,1) 1324.460 ***
注:如果長度小于的位數(shù)則返回一串*號。
6).字符串轉(zhuǎn)換成數(shù)值函數(shù)VAL( )
【格式】VAL ()
【功能】將cExp 串中數(shù)字轉(zhuǎn)換成對應(yīng)數(shù)值,轉(zhuǎn)換結(jié)果取兩位小數(shù)。函數(shù)值為N 型!纠 ? VAL(”32”+”18”) 3218.00 ?VAL(”112GH”),VAL(”AB204”),VAL(”ASD”) 112.00
0.00 0.00
7).宏代換函數(shù) &
[格式]:&<字符型內(nèi)存變量>
[功能]:取“字符型內(nèi)存變量”的值。
[說明]:
(1)宏代換是一種間接取值的操作,在&符號后面必須緊跟(無空格)一個己被賦過值的字符型內(nèi)存變量的名字。
(2)若&<字符型內(nèi)存變量>與后面的字符之間無空格分界時,應(yīng)加上“.”符號作為分界符。
(3)宏代換的使用可以嵌套另一個宏代換,但不能嵌套自己。例如,X=“&X”的寫法是錯誤的。
(4)對于數(shù)字字符串,可以通過&函數(shù)使其與其他數(shù)字進行計算。
[例]:求宏代換。
<1>. CH=”X”
X=9
? &CH &&結(jié)果為:9
<2> TT=”學(xué)生”
USE &TT &&結(jié)果為:打開了“學(xué)生.dbf”表文件。
<3> X=”2004”
M=”+”
Y=”&X.&M.1”
? Y &&結(jié)果為:2004+1
? &Y &&結(jié)果為:2005
(5).測試函數(shù)
在數(shù)據(jù)庫應(yīng)用的操作過程中,用戶需要了解數(shù)據(jù)對象的類型、狀態(tài)等屬性,Visual FoxPro提供了相關(guān)的測試函數(shù),使用戶能夠準確地獲取操作對象的相關(guān)屬性。
1).數(shù)據(jù)類型函數(shù)VARTYPE( )
【格式】VARTYPE(<表達式>)
【功能】返回<表達式>表示的數(shù)據(jù)對象的數(shù)據(jù)類型,返回值是一個表示數(shù)據(jù)類型的大寫字母。C:字符型,D:日期型,N:數(shù)值型,L:邏輯型,M:備注型,G:通用型,U:未定義。
2).值域測試函數(shù)BETWEEN()
【格式】BETWEEN(,,)
【功能】判斷當表達式的值大于等于的值且小于等于的值時,函數(shù)值為真(.T.),否則函數(shù)值為假(.F.)。如果或有一個是NULL 值,那么函數(shù)值也是NULL 值。
【例】? BETWEEN(3*5,10,50),BETWEEN(80,.null.,100).T. .NULL.
3).條件測試函數(shù)IIF( )
【格式】IIF(,,)
【功能】邏輯表達式lExp 值為真(.T.),返回表達式eExp1 的值,否則返回表達式eExp2 的值。eExp1 和eExp2 可以是任意數(shù)據(jù)類型的表達式。
【例】成績=78
?IIF(成績<60,“不及格”,“及格”)及格
4).當前記錄號函數(shù)RECNO()
【格式】RECNO([<工作區(qū)號> | <別名>])
【功能】返回指定工作區(qū)中表的當前記錄的記錄號。對于空表返回值為1。
【例】 測試記錄指針的當前位置。 USE 學(xué)生檔案.dbf GOTO
BOTTOM ? RECNO() && 顯示結(jié)果為:10
SKIP ? RECNO() && 顯示結(jié)果為:11 GO
TOP ? RECNO() && 顯示結(jié)果為: 1
SKIP -1 ? RECNO() && 顯示結(jié)果為: 15).表結(jié)束標志測試函數(shù)EOF( )
【格式】EOF([<工作區(qū)號> | <別名>])
【功能】測試記錄指針是否移到表結(jié)束處。如果記錄指針指向表中尾記錄之后,函數(shù)返回真(.T.),否則為假(.F.)。
【例】測試文件記錄是否指向文件尾。USE 學(xué)生檔案.dbf
GOTO BOTTOM
? EOF() && 顯示結(jié)果為:.F.
SKIP && 移動記錄指針到下一條記錄命令
? EOF() && 顯示結(jié)果為:.T.
6).表起始標識測試函數(shù)BOF ( )
【格式】BOF ([<工作區(qū)號> | <別名>])
【功能】測試記錄指針是否移到表起始處。如果記錄指針指向表中首記錄前面,函數(shù)返回真(.T.),否則為假(.F.)。
【例】 測試文件記錄是否指向文件頭。 USE 學(xué)生檔案.dbf ?
BOF() && 顯示結(jié)果為:.F. SKIP -1 &&
移動記錄指針到上一條記錄命令 ? BOF() &&
顯示結(jié)果為:.T.
7).記錄刪除測試函數(shù)DELETED( )
【格式】DELETED([<工作區(qū)號> | <別名>])
【功能】測試指定工作區(qū)中表的當前記錄是否被邏輯刪除。如果當前記有邏輯刪除標記,函數(shù)返回真(.T.),否則為假(.F.)。
8).記錄個數(shù)測試函數(shù)RECCOUNT( )
【格式】RECCOUNT ([<工作區(qū)號> | <別名>])
【功能】返回指定工作區(qū)中表的記錄個數(shù)。如果工作區(qū)中沒有打開表則返回0。
【例】 USE XY && 假設(shè)表中有10條記錄
GO BOTTOM
? EOF(),RECNO() && 顯示 .F. 10
SKIP
? EOF(),RECNO(),RECCOUNT() && 顯示 .T. 11 10
【計算機二級考試《VFP》第三章復(fù)習(xí)重點】相關(guān)文章:
2023計算機二級考試《VFP》第二章復(fù)習(xí)重點07-27
2017計算機二級考試《VFP》第五章復(fù)習(xí)重點09-14
2017計算機二級考試《VB》第三章復(fù)習(xí)重點08-05
2017計算機二級考試《VFP》第四章復(fù)習(xí)重點09-14
計算機二級VFP無紙化考試重點和難點07-28
計算機二級VFP無紙化考試重點和難點剖析07-02
江蘇計算機等級考試二級VFP的復(fù)習(xí)策略08-10