Vfp專(zhuān)升本講稿_第1頁(yè)
Vfp專(zhuān)升本講稿_第2頁(yè)
Vfp專(zhuān)升本講稿_第3頁(yè)
Vfp專(zhuān)升本講稿_第4頁(yè)
Vfp專(zhuān)升本講稿_第5頁(yè)
已閱讀5頁(yè),還剩77頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Visual foxpro數(shù)據(jù)庫(kù)管理系統(tǒng)考核內(nèi)容:1. 數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)2. VFP概述3. 數(shù)據(jù)類(lèi)型與函數(shù)4. 數(shù)據(jù)庫(kù)和表的操作5. 程序設(shè)計(jì)6. SQL語(yǔ)言的使用7. 表單的設(shè)計(jì)考試題型:(70分)一、填空題(10分)5個(gè)題,共10分,數(shù)據(jù)庫(kù)基礎(chǔ)部分,前四章的內(nèi)容二、寫(xiě)出運(yùn)行結(jié)果(24分)8個(gè)題,每題3分,都是程序。三、完善程序(24分)8個(gè)題,每題3分,共24分,都是程序四、改錯(cuò)(12分)4個(gè)題,每題3分,都是程序。判斷2-100以?xún)?nèi)的數(shù)是否是質(zhì)數(shù)。求1-100的累加和。求100!打印如下圖形:*或 * *第一章 Visual Foxpro基礎(chǔ)1.1數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)一、數(shù)據(jù)、數(shù)據(jù)處理、信息、

2、數(shù)據(jù)管理的含義1)數(shù)據(jù):是指存儲(chǔ)在某一種媒體上能被識(shí)別物理符號(hào)。隨著信息的發(fā)展,數(shù)據(jù)不再是單純的數(shù)值型,即0-9,正負(fù)號(hào)。數(shù)據(jù)已經(jīng)擴(kuò)展了,包括文本、圖形、聲音、視頻等。2)數(shù)據(jù)處理數(shù)據(jù)處理是對(duì)數(shù)據(jù)進(jìn)行收集、加工處理的一個(gè)過(guò)程。3)信息數(shù)據(jù)經(jīng)過(guò)加工處理,得到有意義的數(shù)據(jù),叫信息。原始數(shù)據(jù):出生日期。加工得來(lái)的數(shù)據(jù):年齡。4)數(shù)據(jù)管理 是指對(duì)數(shù)據(jù)進(jìn)行收集、加工、整理的一些工作2數(shù)據(jù)管理的發(fā)展階段1)手工管理階段數(shù)據(jù)和程序都不保存,數(shù)據(jù)和程序不獨(dú)立。數(shù)據(jù)冗余度大。2)文件管理階段數(shù)據(jù)以文件方式存儲(chǔ),按文件名來(lái)使用數(shù)據(jù)。程序與數(shù)據(jù)有一定的獨(dú)立性,分開(kāi)存儲(chǔ),數(shù)據(jù)保存在存儲(chǔ)器中。3)數(shù)據(jù)庫(kù)階段程序與數(shù)據(jù)獨(dú)

3、立,程序發(fā)生變化,數(shù)據(jù)不變,數(shù)據(jù)發(fā)生變化程序不變。實(shí)現(xiàn)數(shù)據(jù)共享性,減少數(shù)據(jù)冗余。數(shù)據(jù)獨(dú)立性高,數(shù)據(jù)與程序分開(kāi),互不影響。有專(zhuān)門(mén)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)來(lái)管理、維護(hù)數(shù)據(jù)庫(kù)的數(shù)據(jù)。4)分布式數(shù)據(jù)庫(kù)是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫(kù)技術(shù)的結(jié)合的產(chǎn)物。5)面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng)引入了類(lèi)、對(duì)象、方法、屬性。二、基本概念1.數(shù)據(jù)庫(kù)(DB)是指存儲(chǔ)在計(jì)算機(jī)中的相互關(guān)聯(lián)的結(jié)構(gòu)化的相關(guān)數(shù)據(jù)集合。數(shù)據(jù)庫(kù)中不僅存放數(shù)據(jù),而且存儲(chǔ)數(shù)據(jù)與數(shù)據(jù)之間的聯(lián)系。2)數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(fā)人員利用數(shù)據(jù)庫(kù)管理系統(tǒng)開(kāi)發(fā)的面向某一應(yīng)用的軟件系統(tǒng),比如工資管理系統(tǒng)。3)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是用于管理、維護(hù)、建立、使用數(shù)據(jù)庫(kù)的系統(tǒng)軟件。4)數(shù)據(jù)

4、庫(kù)系統(tǒng)(DBS)是一個(gè)應(yīng)用了數(shù)據(jù)庫(kù)技術(shù)的計(jì)算機(jī)系統(tǒng)。數(shù)據(jù)庫(kù)系統(tǒng)由五大部分構(gòu)成:硬件系統(tǒng)、數(shù)據(jù)庫(kù)集合、數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)管理員和用戶(hù)。DBA:數(shù)據(jù)庫(kù)管理員。以上所講的幾部分,包含關(guān)系如下:DBS包含DBMS和DB數(shù)據(jù)庫(kù)管理系統(tǒng)(dbms)是數(shù)據(jù)庫(kù)系統(tǒng)的核心。2數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)1)實(shí)現(xiàn)數(shù)據(jù)共享,減少了數(shù)據(jù)冗余2)采用特定的數(shù)據(jù)模型。層次模型、網(wǎng)狀模型 關(guān)系模型。3)具有較高的數(shù)據(jù)獨(dú)立性分為物理獨(dú)立性和邏輯獨(dú)立性。4)有統(tǒng)一的數(shù)據(jù)控制功能。數(shù)據(jù)并發(fā)。三、數(shù)據(jù)模型1.實(shí)體的描述1)實(shí)體客觀存在的能夠相互區(qū)別事物。實(shí)體可以是具體的,也可以是抽象的。例如:一臺(tái)電腦、一部電話、一次比賽、一次借閱,一次訂

5、貨2)屬性用來(lái)描述實(shí)體的特性稱(chēng)為屬性。用于區(qū)別其他事物的特征。學(xué)生實(shí)體(編號(hào)、姓名,班級(jí),性別)這里的屬性就是VFP中表的字段。3)實(shí)體集和實(shí)體型.實(shí)體集:同類(lèi)實(shí)體的集合。在VFP中,用表存儲(chǔ)實(shí)體集。實(shí)體型:同類(lèi)實(shí)體所有屬性的集合,實(shí)體型,在VFP中就是表中所有字段,二維表中的標(biāo)題。學(xué)號(hào)姓名性別99001張一男99002李四女99003王東男2.實(shí)體之間的聯(lián)系(實(shí)體之間的對(duì)應(yīng)關(guān)系)聯(lián)系的類(lèi)型如下:1)一對(duì)一的聯(lián)系表示一個(gè)實(shí)體集中的一個(gè)實(shí)體,對(duì)應(yīng)另一個(gè)實(shí)體集中的一個(gè)實(shí)體,如班級(jí)與班長(zhǎng),企業(yè)與廠長(zhǎng)。2)一對(duì)多的聯(lián)系表示一個(gè)實(shí)體集中的一個(gè)實(shí)體,對(duì)應(yīng)另一個(gè)實(shí)體集中的多個(gè)實(shí)體。比如:學(xué)生和成績(jī)。3)多對(duì)

6、多的聯(lián)系例如:學(xué)生和課程學(xué)生和教師教師和課程運(yùn)動(dòng)員和比賽項(xiàng)目3.數(shù)據(jù)模型為了反映事物本身及事物之間的各種聯(lián)系,數(shù)據(jù)庫(kù)中的數(shù)據(jù)必須有一定的結(jié)構(gòu),這種結(jié)構(gòu)稱(chēng)為數(shù)據(jù)模型。數(shù)據(jù)模型不僅表示事物本身的數(shù)據(jù),而且表示數(shù)據(jù)之間的聯(lián)系。分為三種:1)層次模型系教研室課程教師用樹(shù)狀結(jié)構(gòu)表示實(shí)體與實(shí)體聯(lián)系的模型。特點(diǎn):除根結(jié)點(diǎn)外,每一個(gè)結(jié)點(diǎn)有且只能有一個(gè)父結(jié)點(diǎn)。2)網(wǎng)狀模型用網(wǎng)狀結(jié)構(gòu)來(lái)表示實(shí)體結(jié)構(gòu)。課程號(hào)課程學(xué)生教員任課選課特點(diǎn):網(wǎng)狀模型突破了層次模型的兩點(diǎn)限制:允許結(jié)點(diǎn)有多于一個(gè)的父結(jié)點(diǎn),可以有一個(gè)以上的結(jié)點(diǎn)沒(méi)有父結(jié)點(diǎn)。3)關(guān)系模型用二維表格的形式表示實(shí)體和實(shí)體之間聯(lián)系的數(shù)據(jù)模型稱(chēng)為關(guān)系模型在關(guān)系模型中,操作的

7、對(duì)象和結(jié)果都是關(guān)系,職工號(hào)姓名性別001王軍女002陳明男特點(diǎn):關(guān)系就是二維表格。12關(guān)系數(shù)據(jù)庫(kù)VFP是一種微機(jī)上的32位的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。一、關(guān)系術(shù)語(yǔ)1)關(guān)系:一個(gè)關(guān)系就是一張二維表,在VFP中存儲(chǔ)為一個(gè)文件,稱(chēng)為表,擴(kuò)展名為.dbf。2)元組:二維表中行,元組在VFP的表中叫記錄。3)屬性:二維表中列。在VFP中叫字段,屬性名叫字段名,屬性值叫字段值。4)域:屬性的取值范圍叫域。月份:取值為:1月至12月5)關(guān)鍵字:能夠惟一區(qū)別其他實(shí)體的屬性叫關(guān)鍵字。學(xué)生(學(xué)號(hào),姓名,性別)6)外部關(guān)鍵字:是指在第一表不是關(guān)鍵字,但在第二表中是關(guān)鍵字的。通過(guò)外部關(guān)鍵字用來(lái)聯(lián)系兩個(gè)表的。成績(jī)(學(xué)號(hào),課

8、號(hào),成績(jī))學(xué)生(學(xué)號(hào),姓名,性別)二關(guān)系的特點(diǎn)1)關(guān)系必須規(guī)范化,每一列都是不可再分的單元。學(xué)號(hào)姓名成績(jī)數(shù)學(xué)語(yǔ)文英語(yǔ)2)同一個(gè)關(guān)系不能出現(xiàn)同名屬性。3)關(guān)系中不能出現(xiàn)完全相同的行。4)關(guān)系中行與列的順序隨意,沒(méi)有影響。三、關(guān)系的運(yùn)算主要有兩種:1、傳統(tǒng)的集合運(yùn)算(必須有相同的關(guān)系模式,即相同結(jié)構(gòu))l 并:由屬于這兩個(gè)關(guān)系的元組成的集合。l 差:設(shè)有兩個(gè)相同的元組R和S ,R差S 的結(jié)果是由屬于R但不屬于S的元組組成的集合。l 交:設(shè)有兩個(gè)相同的元組R和S ,它們的交是由屬于R又屬于S 的元組組成。2、專(zhuān)門(mén)的關(guān)系運(yùn)算:1)選擇從關(guān)系中找出滿(mǎn)足條件的元組的操作叫選擇。顯示學(xué)生表中性別為男的所有記錄

9、。LIST FOR 性別=”男”選擇是從行的角度進(jìn)行的運(yùn)算,水平方向抽取記錄。2)投影從關(guān)系中抽取若干個(gè)屬性組成新的關(guān)系的操作。從列的角度而言,垂直分解。比如:查詢(xún)學(xué)生表的學(xué)號(hào)和姓名。List fields 學(xué)號(hào),姓名既有選擇又有投影。對(duì)于選擇在VFP中使用for來(lái)限制或while。對(duì)于投影在VFP中使用fields操作。List fields 學(xué)號(hào),姓名 for性別=”男”3)聯(lián)接是關(guān)系的橫向結(jié)合,聯(lián)接運(yùn)算將兩個(gè)關(guān)系模式拼接成一個(gè)更寬的模式。生成的新關(guān)系中包含滿(mǎn)足條件的元組。等值聯(lián)接:在聯(lián)接運(yùn)算中,按照字段值對(duì)應(yīng)相等為條件進(jìn)行的聯(lián)接操作稱(chēng)為等值聯(lián)接。自然聯(lián)接:去掉重復(fù)屬性的等值聯(lián)接(最常用)

10、選擇和投影都是對(duì)一個(gè)關(guān)系而言的。聯(lián)接至少兩個(gè)聯(lián)系。比如:學(xué)生(學(xué)號(hào),姓名)成績(jī)(學(xué)號(hào),成績(jī))生成的表(學(xué)號(hào),姓名,成績(jī))在VFP中有兩個(gè)聯(lián)接命令SET RELATION TO:邏輯聯(lián)接JOIN WITH:物理聯(lián)接*補(bǔ)充知識(shí)*VFP的命令格式構(gòu)成:格式如下:命令動(dòng)詞 范圍 for/while 條件 1)命令動(dòng)詞顯示記錄:list/display追加記錄:append刪除記錄:delete查詢(xún):locate/seek/find插入記錄:insert2)范圍范圍是對(duì)記錄而言的,。all:表示操作的記錄范圍為所有記錄。所有元組。next N:從當(dāng)前記錄開(kāi)始連續(xù)N條記錄。rest:從當(dāng)前記錄開(kāi)始到尾記錄

11、。record n 表示第N條記錄約定:如果省略范圍,有FOR,則范圍為ALL。3)for/while <條件>此處是選擇操作,for和while是條件關(guān)鍵字。For:表示從范圍內(nèi)找滿(mǎn)足條件的所有記錄。While:表示選擇,但遇到一個(gè)不滿(mǎn)足記錄即停止。一般不用。4)其他參數(shù) to print :送到打印機(jī) to file 文件名:送到文件中*第二章 VFP系統(tǒng)初步一、VFP啟動(dòng)與退出1、啟動(dòng)系統(tǒng):通過(guò)開(kāi)始菜單-程序-MICROSOFT VISUAL FOXPRO 6.02、退出系統(tǒng)(4種方法)1)用鼠標(biāo)左鍵單擊VFP標(biāo)題欄右面的關(guān)閉窗口按鈕2)從“文件”下拉菜單中選擇“退出”3)單

12、擊主窗口左上方的狐貍圖標(biāo),在下拉菜單中選擇”關(guān)閉”,或者按ALT+F4。4)在命令窗口中鍵入QUIT(按ENTER鍵)。二、VFP的窗口構(gòu)成: 1.標(biāo)題欄2.菜單欄(動(dòng)態(tài)的)3.工具欄:默認(rèn)界面包括“常用”、“表單設(shè)計(jì)器”工具欄。4狀態(tài)欄:顯示當(dāng)前打開(kāi)的數(shù)據(jù)庫(kù)和表,當(dāng)前記錄號(hào)/總記錄數(shù)5內(nèi)容區(qū):(顯示執(zhí)行結(jié)果)6.命令窗口:用于輸入命令,命令輸入完畢后,按回車(chē)鍵立刻執(zhí)行命令, 1)隱藏命令窗口:(1)單擊命令窗口右上角的關(guān)閉按鈕關(guān)閉它。 (2)按CTRL+F4隱藏命令窗口2)顯示命令窗口(1)單擊“常用”工具欄上的“命令窗口”按鈕。(2)通過(guò)“窗口”菜單下的“命令窗口”選項(xiàng)可以重新打開(kāi)。(3)

13、,按CTRL+F2顯示命令窗口 7、滾動(dòng)條三、VFP有三種工作方式:1)菜單方式(交互式)2)命令方式(交互式)3)程序方式四、項(xiàng)目管理器:是VFP中用來(lái)組織管理各類(lèi)文件的容器。是文件、數(shù)據(jù)、文檔和VFP對(duì)象的集合,擴(kuò)展名為.pjx。一、創(chuàng)建項(xiàng)目的兩種途徑:1)僅創(chuàng)建一個(gè)項(xiàng)目文件,用來(lái)分類(lèi)管理其他文件2)使用應(yīng)用程序向?qū)闪艘粋€(gè)項(xiàng)目和一個(gè)VFP應(yīng)用程序框架二、打開(kāi)和關(guān)閉項(xiàng)目1)打開(kāi)項(xiàng)目“文件”菜單-“打開(kāi)”-文件類(lèi)型為“項(xiàng)目”-選中要打開(kāi)的項(xiàng)目-單擊“確定”按鈕2)關(guān)閉項(xiàng)目單擊項(xiàng)目管理器右上角的“關(guān)閉”按鈕三、項(xiàng)目管理器選項(xiàng)卡:(共有6個(gè))1)數(shù)據(jù)選項(xiàng)卡:數(shù)據(jù)庫(kù)(.DBC)、查詢(xún)(.QPR)

14、、自由表(.DBF)、視圖等。2)文檔選項(xiàng)卡:表單(.SCX)、報(bào)表(.FRX)、標(biāo)簽(.LBL)3)代碼選項(xiàng)卡:程序(.PRG),api庫(kù),應(yīng)用程序(.app)4)類(lèi)選項(xiàng)卡:類(lèi)文件(.VCX)5)其他選項(xiàng)卡:菜單文件、圖片文件、其他文件6)全部:以上各類(lèi)文件的集中顯示。 四、項(xiàng)目管理器基本操作(第8頁(yè))1)在項(xiàng)目中創(chuàng)建文件:選擇要新建文件類(lèi)型,再單擊“新建”按鈕2) 在項(xiàng)目中加入文件:選擇要添加文件的類(lèi)型,再單擊“添加”按鈕3) 在項(xiàng)目中修改文件:先選擇要修改的文件,再單擊“修改”按鈕4) 在項(xiàng)目中移去文件:選擇要移去的文件,再單擊“移去”按鈕,文件會(huì)從項(xiàng)目中移去,但不會(huì)從磁盤(pán)中刪除文件,或

15、按“刪出”按鈕,文件會(huì)從項(xiàng)目中移去并從磁盤(pán)中刪除文件5)為文件添加說(shuō)明在“項(xiàng)目管理器”中選定文件,從“項(xiàng)目”菜單中選擇“編輯說(shuō)明”,在編輯說(shuō)明對(duì)話框中鍵入對(duì)文件的說(shuō)明,單擊“確定”按鈕。6)查看表中的數(shù)據(jù)從項(xiàng)目中可以瀏覽項(xiàng)目中表的內(nèi)容。若要瀏覽表,選擇“數(shù)據(jù)”選項(xiàng)卡,選定一個(gè)表并單擊“瀏覽”按鈕。五、項(xiàng)目管理器的命令按鈕(不可用時(shí)是灰色)1新建:創(chuàng)建一個(gè)新文件或?qū)ο?添加:把已有的對(duì)象添加到項(xiàng)目中3修改:在合適的設(shè)計(jì)器中打開(kāi)選定項(xiàng)4瀏覽:在瀏覽窗口中打開(kāi)一個(gè)表5關(guān)閉:關(guān)閉一個(gè)打開(kāi)的數(shù)據(jù)庫(kù)6打開(kāi):打開(kāi)一個(gè)數(shù)據(jù)庫(kù)7移去:從項(xiàng)目中移去選定文件或?qū)ο?連編:編譯一個(gè)項(xiàng)目或應(yīng)用程序9預(yù)覽:在打印方式下顯

16、示選定的報(bào) 表或標(biāo)簽。 10運(yùn)行:執(zhí)行選定的查詢(xún)、表單或程序六、定制項(xiàng)目(改變項(xiàng)目的外觀)1)移動(dòng)、縮放、折疊(項(xiàng)目管理器上右上角的向上箭頭)2)拆分項(xiàng)目管理器-先折疊項(xiàng)目管理器-拖出選項(xiàng)卡3)停放項(xiàng)目管理器-將項(xiàng)目管理器拖到VFP主窗口的上部就可以像工具欄一樣顯示在主窗口的頂部。五、Vfp中常用的文件擴(kuò)展名.pjx:項(xiàng)目文件.pjt: 項(xiàng)目備注文件.dbf:表文件.fpt:表備注文件.dbc:數(shù)據(jù)庫(kù)文件.dct: 數(shù)據(jù)庫(kù)備注文件.dcx:數(shù)據(jù)庫(kù)索引文件.frx:報(bào)表文件.frt:報(bào)表備注文件.scx:表單文件.sct: 表單備注文件.lbx:標(biāo)簽文件.lbt:標(biāo)簽備注文件.qpr:查詢(xún)文件.

17、mnx:菜單源文件.mnt:菜單的備注文件.mpr:菜單生成文件.prg:程序文件.app:生成的應(yīng)用程序文件.exe:可執(zhí)行文件*總結(jié)*:一、數(shù)據(jù)管理的發(fā)展1.手工管理2文件管理3數(shù)據(jù)庫(kù)管理4分布式數(shù)據(jù)庫(kù)5.面向?qū)ο髷?shù)據(jù)庫(kù)二、數(shù)據(jù)庫(kù)管理系統(tǒng)1.數(shù)據(jù)庫(kù)2.數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)3.數(shù)據(jù)庫(kù)管理系統(tǒng)4.數(shù)據(jù)庫(kù)系統(tǒng)DB,DBMS,DBS三、數(shù)據(jù)庫(kù)管理系統(tǒng)的特點(diǎn)1.數(shù)據(jù)共享,減少了數(shù)據(jù)冗余2數(shù)據(jù)獨(dú)立性高3.數(shù)據(jù)模型4.具有統(tǒng)一的控制管理功能四、數(shù)據(jù)模型1.實(shí)體2屬性3.實(shí)體集,實(shí)體型4.實(shí)體與實(shí)體之間聯(lián)系一對(duì)一,一對(duì)多,多對(duì)多。5數(shù)據(jù)模型(分為三種)層次模型,。網(wǎng)狀模型,關(guān)系模型。五、關(guān)系模型1關(guān)系2元組3屬

18、性4域5關(guān)鍵字6.外部關(guān)鍵字7.關(guān)系的特點(diǎn)六、關(guān)系運(yùn)算分為兩種:1 傳統(tǒng)的集合運(yùn)算:并、并、差、除2 專(zhuān)門(mén)的關(guān)系運(yùn)算1) 選擇,對(duì)行操作 ,for2) 投影,對(duì)列操作,fields3) 聯(lián)接,兩個(gè)表,橫向擴(kuò)展,join和set relation七、VFP啟動(dòng)與退出 退出有4種方法八、VFP窗口的構(gòu)成標(biāo)題欄、菜單欄(動(dòng)態(tài))、工具欄、狀態(tài)欄、命令窗口(ctrl+f2、ctrl+f4)、顯示區(qū)、滾動(dòng)條九、VFP有三種工作方式:菜單方式、命令方式、程序方式十、項(xiàng)目管理器(.pjx)創(chuàng)建、打開(kāi)、關(guān)閉、6個(gè)選項(xiàng)卡、項(xiàng)目管理器基本操作、命令按鈕、定制項(xiàng)目。第三章 數(shù)據(jù)與數(shù)據(jù)運(yùn)算在處理數(shù)據(jù)時(shí),除了需要表中的數(shù)

19、據(jù)外,還經(jīng)常要處理其他數(shù)據(jù),根據(jù)處理數(shù)據(jù)的形式來(lái)劃分,數(shù)據(jù)可以分為四種形式:常量、變量、表達(dá)式、函數(shù)(一)、常量(6種):在程序運(yùn)行中其值不發(fā)生變化的量。數(shù)值型常量:用來(lái)表示一個(gè)數(shù)的大小,由數(shù)字09、小數(shù)點(diǎn)和正負(fù)號(hào)組成。例:12、23.56、-6.78注:在內(nèi)存中用8個(gè)字節(jié)表示,表示很大或很小數(shù)時(shí)用科學(xué)記數(shù)法表示,例:5.678E12表示5.678×1012,1.6E-12表示1.6×10-12貨幣型常量用來(lái)表示貨幣值,其書(shū)寫(xiě)格式與數(shù)值型常量類(lèi)似,但要加一個(gè)前置的符號(hào)“$”,采用4位小數(shù),多于4位小數(shù)將四舍五入。沒(méi)有科學(xué)記數(shù)法形式,在內(nèi)存中占用8個(gè)字節(jié)例:$2423.545

20、4字符型常量常稱(chēng)為字符串,表示方法是用半角單引號(hào)、雙引號(hào)、方括號(hào)作為定界符把字符串?dāng)U起來(lái),定界符必須成對(duì)匹配,如果定界符本身也是字符串的內(nèi)容,則需要用另一種定界符為該字符串定界。注:不包含任何字符的字符串("")叫空串。與包含空格的字符串(" ")不同。? " 計(jì)算","123",456, 'ABC '"123"執(zhí)行結(jié)果: 計(jì)算 123 456 'ABC '"123"? "學(xué)習(xí)",表示方法 學(xué)習(xí) 表示方法?-在光標(biāo)的下一行顯

21、示?-在光標(biāo)所在的當(dāng)前行顯示 ? 123 ?“5667” 1235667日期型常量定界符是一對(duì)花括號(hào),花括號(hào)內(nèi)包括年、月、日三部分,各部分用分隔符分隔。分隔符可以是斜杠()連字號(hào)()、句點(diǎn)(.)和空格,斜杠是系統(tǒng)默認(rèn)的分隔符。兩種格式1)、傳統(tǒng)的日期格式默認(rèn)格式為美國(guó)日期格式“MM/DD/YY(月/日/年),傳統(tǒng)日期格式中的月、日各為2位數(shù)字,而年份可以是2位數(shù)字,也可以是4位數(shù)字。10/08/1978、10-08-1978、10 08 78注:此格式受命令SET DATE TO 和SET CENTURY TO 設(shè)置的影響。只能在SET STRICTDATE TO 0狀態(tài)下使用。2)、嚴(yán)格的日

22、期格式Y(jié)YYY-MM-DD,能表示一個(gè)確切的日期,不受SET DATE等語(yǔ)句的影響,年月日的次序不能顛倒,不能缺省,日期型用8個(gè)字節(jié)表示,取值范圍0001-01-019999-12-31,可以在SET STRICTDATE TO命令的任何狀態(tài)下使用。2003-11-133)影響日期格式的設(shè)置命令(1)命令格式:SET MARK TO 日期分隔符功能:用于設(shè)置日期型數(shù)據(jù)的分隔符,若省略“日期分隔符“表示用默認(rèn)的斜杠分隔符。Set mark to “”Set date “mdy”?2010-10-20 10/20/2010命令格式:SET DATE TO AMERICAN|ANSI|YMD功能:設(shè)

23、置日期的顯示格式Set mark to ?2010-10-20(3)設(shè)置日期是否顯示4位年份命令格式:SET CENTURY ON/OFF TO 世紀(jì)值 ROLLOVER年份參照值功能:用于設(shè)置顯示日期型數(shù)據(jù)時(shí)是否顯示世紀(jì)。TO 選項(xiàng):確定用2位數(shù)字表示年份所處的世紀(jì)。ROLLOVER:如果該日期的2位數(shù)字年份大于等于年份參照值,則它們所處的世紀(jì)即為世紀(jì)值,否則為世紀(jì)值+1Set cent on? 10/20/98 10/20/1998Set cent to 19 roll 60? 10/20/98, 10/20/50, 10/20/60 10/20/1998 10/20/2050 10/20

24、/1960(4)命令格式:SET STRICTDATE TO 0|1|2功能:用于設(shè)置是否對(duì)日期格式進(jìn)行檢查。0:不進(jìn)行嚴(yán)格的日期格式檢查1:進(jìn)行嚴(yán)格的日期檢查,是系統(tǒng)默認(rèn)的設(shè)置2:進(jìn)行嚴(yán)格的日期檢查,并且對(duì)CTOD()和CTOT()函數(shù)的格式也有效日期時(shí)間型常量包括日期和時(shí)間兩部分內(nèi)容日期,時(shí)間<日期>部分與日期型常量相似<時(shí)間>格式為HH:MM:SSA|PHH-à小時(shí)MM-à分SS-à秒,默認(rèn)值為12:00:00,A/AM-à上午,P/PM-à下午,時(shí)間的的取值范圍是:00:00:00AM11:59:59PM?200

25、0-03-22,11:30P,1999-01-01,2000-10-10,3邏輯型常量只有邏輯真和邏輯假兩個(gè)值, 邏輯真有 .T.,.t.,.Y.,.y.邏輯假有.F.,.f.,.N.,.n.(二)變量:在程序運(yùn)行過(guò)程中其值可以發(fā)生變化的量每個(gè)變量都有一個(gè)名字,以字母、漢字、下劃線開(kāi)頭,其余字符任意。(DF3 ,副12、_SFGF)1、變量的數(shù)據(jù)類(lèi)型:字符型(C)、數(shù)值型(N)、貨幣型(Y)、邏型(L)、日期型(D)、日期時(shí)間型(T)2、變量的種類(lèi)(字段變量、內(nèi)存變量)字段變量:表中的每個(gè)字段對(duì)不同記錄對(duì)應(yīng)不同的的值,因此字段名是變量,只有表打開(kāi)時(shí),才能使用。內(nèi)存變量:(簡(jiǎn)單內(nèi)存變量、數(shù)組變量

26、)l 簡(jiǎn)單內(nèi)存變量:每一個(gè)變量都有一個(gè)名字(以字母,漢字,下劃線開(kāi)頭)如果內(nèi)存變量與字段變量同名時(shí),訪問(wèn)內(nèi)存變量時(shí),必須在變量名前加前綴M.(或M->),否則系統(tǒng)訪問(wèn)同名的字段變量.1、內(nèi)存變量的建立(不必事先定義,可直接建立)命令格式1)<內(nèi)存變量名>=<表達(dá)式>一次只能給一個(gè)變量賦值。A=12 B=”a12”2)STORE 表達(dá)式TO 內(nèi)存變量名表一次可以給多個(gè)變量賦同一個(gè)值。STORE 23 TO A,B,CSTORE .T. TO AB,BC注:內(nèi)存變量類(lèi)型是由變量值的類(lèi)型確定的。2、數(shù)組變量是內(nèi)存中連續(xù)的一片存儲(chǔ)區(qū)域,它由一系列元素組成,每個(gè)數(shù)組元素可以

27、通過(guò)下標(biāo)來(lái)訪問(wèn),每個(gè)數(shù)組元素相當(dāng)一個(gè)簡(jiǎn)單變量,可以給各個(gè)元素賦值,且各個(gè)元素的數(shù)據(jù)類(lèi)型可以不同。創(chuàng)建數(shù)組(使用前必須先定義)DIMENSION <數(shù)組名>(下標(biāo)1,下標(biāo)2,。)DECLARE <數(shù)組名>(下標(biāo)1,下標(biāo)2 ,。)創(chuàng)建后系統(tǒng)自動(dòng)為每個(gè)數(shù)組元素賦以邏輯假.F.例:一維數(shù)組 X含有5 個(gè)元素:X(1)、X(2),X(3),X(4),X(5)二維數(shù)組Y含有6個(gè)元素y(2,3):Y(1,1)、Y(1,2),Y(1,3)、Y(2,1),Y(2,2)、Y(2,3)使用數(shù)組應(yīng)注意的問(wèn)題:1)、在一切使用簡(jiǎn)單變量的地方,均可以使用數(shù)組元素2)、在賦值和輸入語(yǔ)句中使用數(shù)組名時(shí)

28、,表示將同一值賦給全部數(shù)組元素。3)、在同一環(huán)境下,數(shù)組名不能與簡(jiǎn)單變量同名。4)、在賦值語(yǔ)句中的表達(dá)式位置不能出現(xiàn)數(shù)組名5)、可以用一維數(shù)組的形式訪問(wèn)二維數(shù)組。例如:數(shù)組Y中各元素用一維數(shù)組形式可依次表示為:Y(1)、Y(2)、Y(3)、Y(4)、Y(5)、Y(6),其中Y(4)與Y(2,1)是同一變量。3、內(nèi)存變量常用命令1)、內(nèi)存變量的賦值:格式1 STORE 表達(dá)式 TO 變量名表格式2 內(nèi)存變量名=表達(dá)式2)、表達(dá)式值的顯示?表達(dá)式表:在下一行顯示,省略表達(dá)式起換行作用?表達(dá)式表:在當(dāng)前行輸出3)內(nèi)存變量的顯示格式1:LIST MEMORY LIKE通配符 TO PRINTERTO

29、FLIE 文件名格式2:DISPLAY MEMORY LIKE通配符 TO PRINTERTO FLIE 文件名功能:顯示內(nèi)存變量的當(dāng)前信息,包括變量名、作用域、類(lèi)型、取值。LIKE:只顯示與通配符相匹配的內(nèi)存變量*-任意多個(gè)字符。?-à任意一個(gè)字符.TO PRINTER:將顯示結(jié)果送往打印機(jī)TO FILE <文件名>將顯示結(jié)果保存至文本文件中,文本文件的擴(kuò)展名為.TXTLIST MEMORY:連續(xù)顯示DISPLAY MEMORY分屏顯示例: LIST MEMORY:連續(xù)顯示所有的內(nèi)存變量 DISPLAY MEMORY: 分屏顯示所有的內(nèi)存變量4)、內(nèi)存變量的清除格式1:

30、CLEAR MEMORY清除所有的內(nèi)存變量。格式2:RELEASE <內(nèi)存變量名表>清除指定的內(nèi)存變量。Rele ab,cd格式3:RELEASE ALL EXTENDED功能與格式1相同,在程序中必須加EXTENDED才能將公共內(nèi)存變量刪除格式4:RELEASE ALL LIKE <通配符>|EXCEPT <通配符>LIKE:清除與通配符相匹配的內(nèi)存變量EXCEPT: 清除與通配符不相匹配的內(nèi)存變量例:RELEASE ALL LIKE A* 只清除以 A開(kāi)頭的所有內(nèi)存變量RELEASE ALL EXCEPT A?將變量名為兩個(gè)字符,且以A開(kāi)頭之外的其他內(nèi)存

31、變量清除4、表中的數(shù)據(jù)與數(shù)組數(shù)據(jù)之間的交換1)、將表中一條記錄復(fù)制到數(shù)組中格式1:SCATTER FIELDS <字段名表>MEMO TO <數(shù)組名> BALNK格式2:SCATTER FIELDS LIKE <通配符>MEMO TO <數(shù)組名> BALNK(1)、格式1功能:將當(dāng)前記錄指定字段的第一個(gè)字段內(nèi)容開(kāi)始,依次復(fù)制到數(shù)組名中的第一個(gè)數(shù)組元素開(kāi)始的數(shù)組中(2)、如果不使用FIELDS短語(yǔ),則復(fù)制除備注型M和通用型G之外的字段(3)、數(shù)組可以不事先創(chuàng)建,如果數(shù)組元素個(gè)數(shù)少于字段個(gè)數(shù),系統(tǒng)自動(dòng)建立其余數(shù)組元素。(4)、DEMO:復(fù)制備注字段格

32、式2的功能:(5)、FIELDS LIKE <通配符>:字段滿(mǎn)足通配符的復(fù)制。(6)、FIELDS EXCEPT <通配符>:字段滿(mǎn)足<通配符>不復(fù)制。2)、將數(shù)組復(fù)制到當(dāng)前記錄中功能:從第一個(gè)數(shù)組元素開(kāi)始,依次向字段名表指定的字段寫(xiě)數(shù)據(jù),如省略FIELDS選項(xiàng),則依次向各個(gè)字段復(fù)制,若數(shù)組元素多余字段個(gè)數(shù),多余部分被忽略,格式1: GATHER FROM <數(shù)組名> FIELDS<字段名表>MEMO格式2: GATHER FROM <數(shù)組名> FIELDS LIKE <通配符>| FIELDS EXCEPT

33、<通配符MEMOMEMO :復(fù)制備注字段FIELDS LIKE <通配符>:字段滿(mǎn)足通配符復(fù)制FIELDS EXCEPT <通配符>:字段滿(mǎn)足<通配符>不復(fù)制(三)、表達(dá)式是由常量、變量、和函數(shù)通過(guò)特定的運(yùn)算符連接起來(lái)的式子。1、表達(dá)式的形式單一的運(yùn)算對(duì)象:(如常量、變量、或函數(shù))多個(gè)的運(yùn)算對(duì)象:由運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)形成的式子。表達(dá)式的類(lèi)型:任何表達(dá)式都有一個(gè)值,根據(jù)表達(dá)式值的類(lèi)型,可分為四種類(lèi)型。1)、數(shù)值表達(dá)式:由算術(shù)運(yùn)算符將數(shù)值型數(shù)據(jù)連接起來(lái)形成,其運(yùn)算結(jié)果仍然是數(shù)值型數(shù)據(jù)。算術(shù)運(yùn)算符的優(yōu)先級(jí)優(yōu)先級(jí)運(yùn)算符說(shuō)明1( )形成表達(dá)式內(nèi)的子表達(dá)式2

34、*或乘方運(yùn)算3*、/、%乘、除運(yùn)算、求余運(yùn)算4+、加、減運(yùn)算例:求×18.45和的值?(1/60-3/56)*18.45,(1+2(1+2))/(2+2)求余運(yùn)算求余運(yùn)算%和取余函數(shù)MOD()的作用相同,余數(shù)的正負(fù)號(hào)與除數(shù)一致。(1)若被除數(shù)與除數(shù)同號(hào):那么結(jié)果值為:|表達(dá)式1|/|表達(dá)式2|的余數(shù)+表達(dá)式2的符號(hào)。(2)若被除數(shù)與除數(shù)異號(hào): |表達(dá)式2|-( |表達(dá)式1|/|表達(dá)式2|的余數(shù))+表達(dá)式2的符號(hào)。例:?15%4-à3,-15%-4-à-3? 10%-3 -à-2,-10%3-à2,X=10Y=-3?X%Yà-22)、字

35、符表達(dá)式:由字符串運(yùn)算符將字符型數(shù)據(jù)連接起來(lái)形成,其運(yùn)算結(jié)果仍然是字符型數(shù)據(jù)。+ :前后兩個(gè)字符串首尾連接形成一個(gè)新的字符串。-:連接前后兩個(gè)字符串,并將前字符串的尾部空格移到新成字符串的尾部。例:A=“ABCD ”B=“EFGH”?A+B->“ABCD EFGH” ,A-B-> “ABCDEFGH ”3)、日期時(shí)間表達(dá)式日期時(shí)間表達(dá)式中可以使用運(yùn)算符有+和-兩個(gè),其格式有一定的限制,不能任意組合。(不能用+將兩個(gè)<日期>或<日期時(shí)間>連接起來(lái).)合法的日期時(shí)間表達(dá)式如下:格式結(jié)果及類(lèi)型<日期>+<天數(shù)>或<天數(shù)>+<

36、;日期>日期型,指定日期若干天后的日期<日期>-<天數(shù)>日期型, 指定日期若干天前的日期<日期>-<日期>數(shù)值型, 兩個(gè)指定日期相差的天數(shù)<日期時(shí)間>+<秒數(shù)>或<秒數(shù)>+<日期時(shí)間>日期時(shí)間型,指定日期時(shí)間若干秒后的日期時(shí)間<日期時(shí)間>-<秒數(shù)>日期時(shí)間型,指定日期時(shí)間若干秒前的日期時(shí)間<日期時(shí)間>-<日期時(shí)間>數(shù)值型、兩個(gè)日期時(shí)間相差的秒數(shù)4)關(guān)系表達(dá)式關(guān)系表達(dá)式通常也稱(chēng)為簡(jiǎn)單邏輯表達(dá)式,它由關(guān)系運(yùn)算符將兩個(gè)運(yùn)算對(duì)象連接起來(lái)形成。即:<

37、表達(dá)式1><關(guān)系運(yùn)算符><表達(dá)式2>,運(yùn)算結(jié)果為邏輯型數(shù)據(jù)。關(guān)系運(yùn)算符:運(yùn)算符說(shuō)明運(yùn)算符說(shuō)明<小于<=小于等于>大于>=大于等于=等于=字符串精確比較<>、#、!=不等于$子串包含測(cè)試運(yùn)算符=和$只能用于字符型數(shù)據(jù),其他運(yùn)算符號(hào)適用于任何類(lèi)型的數(shù)據(jù),但前后兩個(gè)運(yùn)算對(duì)象的數(shù)據(jù)類(lèi)型要一致.(1)、數(shù)值型、貨幣型數(shù)據(jù)比較按數(shù)值大小比較,包括負(fù)號(hào)例:?0>-1->.T. ?$150<=$160->.T.(2)、日期型、日期時(shí)間型數(shù)據(jù)比較越早的日期或日期時(shí)間越小,越晚的日期或日期時(shí)間越大例:?2002-01-01&

38、gt;2001-12-31->.T.?2002-01-01<=2001-12-31->.F.(3)、邏輯型數(shù)據(jù)比較.T.大于.F.(4)、子串包含測(cè)試格式:<字符串1> $ <字符串2>若<字符串1>是<字符串2>的子串,則結(jié)果為.T.,否則為.F.(字母區(qū)分大小寫(xiě))ASCII碼例: ? "abc" $ "abcdeac"->.T.? "abc" $ "Dabcdeac"->.T.? "abc" $ "ddA

39、bcdeac"->.F.設(shè)置字符的排序次序字符串比較時(shí),系統(tǒng)對(duì)兩個(gè)字符串自左向右逐個(gè)比較,一旦發(fā)現(xiàn)兩個(gè)對(duì)應(yīng)字符不同,就根據(jù)這兩個(gè)字符的排序序列決定兩個(gè)字符串的大小.1)、排序設(shè)置:人機(jī)會(huì)話方式下設(shè)置“工具”->”數(shù)據(jù)”->”排序序列”命令方式設(shè)置SET COLLATE TO “<排序次序名>”(1)、Machine(機(jī)器)次序:按照機(jī)內(nèi)碼排序,西文字符是按照ASCII碼值排列:空格在最前面,大寫(xiě)字母小于小寫(xiě)字母,漢字的機(jī)內(nèi)碼與漢字國(guó)標(biāo)碼一致,常用一級(jí)漢字按拼音順序決定大小。例:SET COLLATE TO “MACHINE”?“a”<”abc”,”

40、a”<”A”,”A”>”B” .T. .F. .F.? “一”<”二”,”李明”<”王”,”王老師”<”王”,”您好”>”你好”.F. .T. .F. .T.(2)PINYIN(拼音)次序按拼音次序排列,對(duì)于西文字符,空格在最前面,小寫(xiě)字母在前面,大寫(xiě)字母在后面.例:SET COLLATE TO “PINYIN”?“a”<”abc”,”a”<”A”,”a”<” A” .T. .T. .F.? “一”<”二”,”李”<”王”,”王老師”<”王”,”您好”>”你好”.F. .T. .F. .T.(3)、STROKE(筆畫(huà)

41、)次序無(wú)論中文、西文,按照書(shū)寫(xiě)筆畫(huà)多少排序。例:SET COLLATE TO “STROKE”? “a”<”abc”,”a”<”A”,”a”<” A” .T. .T. .F.? “一”<”二”,”李”<”王”,”王老師”<”王”,”您好”>”你好” .T. .F. .F. .T. ?"c">"C" .F.字符串精確比較與EXACT設(shè)置=:只有兩個(gè)字符串完全相同(包括空格以及各字符的位置)時(shí),運(yùn)算結(jié)果才會(huì)是邏輯真.T.,否則為.F.,與EXACT命令設(shè)置無(wú)關(guān).=:運(yùn)算結(jié)果與SET EXACT ON|OFF設(shè)置

42、有關(guān)。系統(tǒng)默認(rèn)為OFF狀態(tài),當(dāng)處于OFF狀態(tài)時(shí),只要右邊的字符串與左邊字符串的前面部分內(nèi)容相匹配,則結(jié)果為邏輯真.T.否則為邏輯.F.當(dāng)處于ON狀態(tài)時(shí),先在較短字符的尾部加上若干個(gè)空格使兩個(gè)字符串的長(zhǎng)度相等,然后再進(jìn)行比較SET EXACT對(duì)字符串比較的影響比較=(EXACT OFF)=(EXACT ON)=(EXACT ON或OFF)“abc”=”abc”.T.T.T.“ab”=”abc”.F.F.F.“abc”=”ab”.T.F.F.“abc”=”ab “.F.F.F.“ab ”=”ab ”.F.T.F.“ab “=”ab ”.T.T.F.“”=”ab”.F.F.F.“ab”=”.T.F.

43、F.TRIM(“ab ”)=”ab”.T.T.T.“ab”=TRIM(“ab ”).T.T.T.例:SET EXACT OFFSTORE “計(jì)算機(jī)” TO S1STORE “計(jì)算機(jī) “TO S2STORE “計(jì)算機(jī)世界” TO S3? S1=S3,S3=S1,S1=S2,S2=S1,S2=S1.F. .T. .F. .T. .F.SET EXACT ON? S1=S3,S3=S1,S1=S2,S2=S1,S2=S1.F. .F. .T. .T. .F.?S2>S1.F.4)、邏輯表達(dá)式是由邏輯運(yùn)算符將邏輯數(shù)據(jù)連接起來(lái)而形成,其運(yùn)算結(jié)果仍是邏輯型數(shù)據(jù)(1)、三個(gè)運(yùn)算符:AND(邏輯與)、O

44、R(邏輯或)、NOT(邏輯非)運(yùn)算級(jí)別為 NOT -àANDàOR邏輯運(yùn)算規(guī)則:設(shè)A,B分別為兩個(gè)邏輯表達(dá)式AB.NOT. AA .AND. BA .OR. B.T.T.F.T.T.T.F.F.F.T.F.T.T.F.T.F.F.T.F.F.例:A=30B=40C=50?10<20 AND 10<30,10<20 AND 10>30 ,10>20 AND 10<30.T. .F. .F. ?10<20 OR 10<30,10<20 OR 10>30 ,10>20 OR 10<30,10>20 OR

45、 10>30.T. .T. .T. .f.? NOT 10<20, NOT 10>20.F. .T.(2)、運(yùn)算符優(yōu)先級(jí)算術(shù)運(yùn)算符-à字符串運(yùn)算符和日期時(shí)間運(yùn)算符-à關(guān)系運(yùn)算符-à邏輯運(yùn)算符例:set exac off? 42/22>2 AND “ABC”>”abc” ? 12>2 AND “人”-“民”>”人”?(10%3=1) AND (15%2=0) OR "電腦"!='計(jì)算機(jī)'(四)、函數(shù)函數(shù)是用程序來(lái)實(shí)現(xiàn)的一種數(shù)據(jù)運(yùn)算,每個(gè)函數(shù)都有特定的功能,它往往需要若干個(gè)自變量,即運(yùn)算對(duì)象

46、。但只能有一個(gè)結(jié)果,稱(chēng)為函數(shù)值或返回值,函數(shù)可以用在表達(dá)式中,形式為:函數(shù)名(表達(dá)式)函數(shù)的類(lèi)型:(5種類(lèi)型)數(shù)值函數(shù)1、絕對(duì)值和符號(hào)函數(shù)(1)ABS(<數(shù)值表達(dá)式>)功能:返回指定的數(shù)值表達(dá)式的絕對(duì)值。例:? ABS(5)->,ABS(4-5)->1(2)SIGN(數(shù)值表達(dá)式)功能:返回指定數(shù)值表達(dá)的符號(hào)。結(jié)果為正->1結(jié)果為負(fù)->-1結(jié)果為零->0例:?SIGN(2)->1,SIGN(-2)->-1,SIGN(0)->02、求平方根格式: SQRT(<數(shù)值表達(dá)式>)功能:返回指定數(shù)值表達(dá)的平方根。自變量表達(dá)式的值不能為

47、負(fù)。例:? SQRT(34),SQRT(81)3、圓周率函數(shù)格式:PI()功能:返回圓周率。該函數(shù)沒(méi)有自變量。? PI()4、求整數(shù)函數(shù):(1)INT(<數(shù)值表達(dá)式>)功能:返回指定數(shù)值表達(dá)式的整數(shù)部分.例:? INT(12.56)->12,INT(-13.8)->-13(2) CEILING(<數(shù)值表達(dá)式>)功能:返回大于或等于指定數(shù)據(jù)表達(dá)式的最小整數(shù)。例: ?CEILING(34.6)->35,CEILING(-45.3)à45(3)FLOOR(<數(shù)值表達(dá)>)功能: 返回小于等于指定數(shù)據(jù)表達(dá)式的最大整數(shù)。?FLOOR(34.6

48、)->34,FLOOR(-45.3)->-465、四舍五入函數(shù)ROUND(<數(shù)值表達(dá)1>,<數(shù)值表達(dá)2>)功能:返回指定表達(dá)式在指定位置四舍五入后的結(jié)果。說(shuō)明:<數(shù)值表達(dá)2>指明四舍五入的位置。(1)<數(shù)值表達(dá)2>大于等于0,表示的是要保留的小數(shù)位數(shù)。(2)<數(shù)值表達(dá)2>小于0,表示的是整數(shù)部分舍入位數(shù)。例:?ROUND(345.9856,2),ROUND(345.9856,0),ROUND(345.45,-1),ROUND(345.56,-3)求余數(shù)函數(shù)格式:MOD(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2&g

49、t;)功能:返回兩個(gè)數(shù)值相除后的余數(shù)。?mod(-10,3)->2求最大值和最小值函數(shù)(1) MAX(<表達(dá)式1>,<表達(dá)式2>,<表達(dá)3>)功能:返回最大值。?MAX(“3”,”21”,”12”)->“3”?MAX(3,21)->21(2)MIN(<表達(dá)式1>,<表達(dá)式2>,<表達(dá)式3>)功能:返回最小值。注:表達(dá)式的類(lèi)型可以是數(shù)值型、字符型、貨幣型、日期型或日期時(shí)間型。但所有表達(dá)式的類(lèi)型必須相同。例:?MAX('2','12','05'),MIN(

50、9;汽車(chē)','飛機(jī)','輪船')字符函數(shù)(自變量一般是字符型數(shù)據(jù))1、求字符串長(zhǎng)度函數(shù)格式:LEN(<字符表達(dá)式>)功能:返回指定字符表達(dá)式值的字符長(zhǎng)度,即所包含的字符個(gè)數(shù)。函數(shù)值類(lèi)型為數(shù)值型。? LEN(“VFP 程序設(shè)計(jì)”)->122、大小寫(xiě)轉(zhuǎn)換函數(shù)(1) LOWER(<字符表達(dá)式>)功能:將指定表達(dá)式中的大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)字母。例:? LOWER(34ABCDbbdd)(2) UPPER(<字符表達(dá)式>)功能:將指定表達(dá)式中的小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母。例:? UPPER(34ABCDbbdd)ACCEPT “

51、請(qǐng)輸入一個(gè)字母“ to AIf _ UPPER(A)_=”Y”3、空格字符串生成函數(shù)格式:SAPCE(<數(shù)值表達(dá)式>)功能:返回指定數(shù)目的空格組成的字符串。?SPACE(10)+ABC4、刪除前后空格函數(shù)(1)TRIM(<字符表達(dá)式>)或RTRIM(<字符表達(dá)式>)功能:返回指定字符表達(dá)式去掉尾部空格后形成的字符串。例:?TRIM(“ AA BB ”)+11(2)LTRIM(<字符表達(dá)式>)功能:返回指定字符表達(dá)式去掉前導(dǎo)空格后形成的字符串。例:?”11”+LTRIM(“ AABB ”)+22(3)ALLTRIM(<字符表達(dá)式>)功能

52、:返回指定字符表達(dá)式去掉前導(dǎo)和尾部空格后形成的字符串。例:?”11”+ALLTRIM(“ AA BB ”)+225、求子串函數(shù)(1) LEFT(<字符表達(dá)式>,<長(zhǎng)度>)功能:從字符表達(dá)式左邊返回一個(gè)指定長(zhǎng)度的子串。? LEFT('ABCDE',3),LEFT('中國(guó)',2)(2) RIGHT(<字符表達(dá)式>,<長(zhǎng)度>)功能:從字符表達(dá)式右邊返回一個(gè)指定長(zhǎng)度的子串。? RIGHT('ABCDE',3),RIGHT('中國(guó)',2)(3) SUBSTR(<字符表達(dá)式>,<

53、;起始位置>,<長(zhǎng)度>)功能:從字符表達(dá)式指定位置返回一個(gè)指定長(zhǎng)度的子串。若缺省<長(zhǎng)度>,則函數(shù)從指定位置一直取到最后一個(gè)字符。? SUBSTR('ABCDE',3),SUBSTR('中國(guó)',3,2)? SUBSTR('ABCDE',3,10)6、計(jì)算子串出現(xiàn)次數(shù)函數(shù)OCCURS(<字符表達(dá)式1>,<字符表達(dá)式2>)功能:返回第一個(gè)字符表達(dá)式1在第二個(gè)字符表達(dá)式2中出現(xiàn)的次數(shù),函數(shù)值為數(shù)值型。若第一個(gè)字符串不是第二個(gè)字符串的子串,函數(shù)值為0。例:? OCCURS(A,ABCDEA)->2

54、?OCCURS(G可有可無(wú),ABCDEA)->07、求子串位置函數(shù)AT(<字符表達(dá)式1>,<字符表達(dá)式2>,<數(shù)值表達(dá)式>)或 ATC(<字符表達(dá)式1>,<字符表達(dá)式2>,<數(shù)值表達(dá)式>)功能:如果<字符表達(dá)式1>是<字符表達(dá)式2>的子串,則返回<字符表達(dá)式1>的首字符在<字符表達(dá)式2>的位置,若不是子串,則返回0。說(shuō)明:ATC()與AT()功能相似,不區(qū)分大小寫(xiě)。(2)<數(shù)值表達(dá)式>用于表示在<字符表達(dá)式2>中搜索<字符表達(dá)式1>第

55、幾次出現(xiàn),省略時(shí),默認(rèn)值是1。? AT(“AB”,”ABCDABCD”)->1? AT(“AB”,”ABCDABCD”,2)->5? ATC(“ab”,”ABCDABCD”)->1? AT (“ab”,”ABCDABCD”)->08、子串替換函數(shù)格式:STUFF(<字符表達(dá)式1>,<起始位置>,<長(zhǎng)度>,<字符表達(dá)式2>)功能:用<字符表達(dá)式2>值替換<字符表達(dá)式1>中由<起始位置>和<長(zhǎng)度>指定的一個(gè)子串。注:(1)如果<長(zhǎng)度>是0, <字符表達(dá)式2>

56、;則插在由<起始位置>指定字符前面。?stuff(“112233”,3,0,”aa”)->11aa2233(2)如果<字符表達(dá)式2>是空串, 那么<字符表達(dá)式1>中由<起始位置>和<長(zhǎng)度>指定的子串被刪除。?stuff(“112233”,3,2,”)->1133?stuff(“112233”,3,2,”aa”)->11aa339、字符替換函數(shù)CHRTRAN(<字符表達(dá)式1>,<字符表達(dá)式2>,<字符表達(dá)式3>)功能:當(dāng)?shù)谝粋€(gè)字符串中的一個(gè)或多個(gè)字符與第二個(gè)字符串中的某個(gè)字符相匹配時(shí)

57、,就用第三個(gè)字符串中的對(duì)應(yīng)字符(相同位置)替換這些字符。?crhtran(“1122335”,”23”,”ab”)->11aabb5說(shuō)明:(1)如果第三個(gè)字符串包含字符個(gè)數(shù)少于第二個(gè)字符串包含的字符個(gè)數(shù),因而沒(méi)有對(duì)應(yīng)字符,那么第一個(gè)字符串中的相匹配的各字符被刪除。?crhtran(“1122335”,”23”,”a”)->11aa5如果第三個(gè)字符串包含字符個(gè)數(shù)多于第二個(gè)字符串包含的字符個(gè)數(shù),多余字符被忽略。例:?CHRTRAN('112123344','2345','5678')?CHRTRAN('112123344','26','5566')?CHRTRAN('112123344','2346','55')10、字符串匹配函數(shù)格式:LIKE(<字符表達(dá)式1>,<字符表達(dá)式2>)功能: 比較兩個(gè)字符串對(duì)應(yīng)位

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論