




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
總73頁第1頁第3章VisualFoxPro的數(shù)據(jù)元素提要3.1VFP的數(shù)據(jù)類型及常量與變量3.2運算符與表達式3.3常用函數(shù)1總73頁第2頁3.1VFP的數(shù)據(jù)類型及常量與變量一、常用數(shù)據(jù)類型
數(shù)據(jù)類型是數(shù)據(jù)的基本屬性,它確定數(shù)據(jù)的存儲方式和使用方式,是使用VFP的語言基礎(chǔ),了解各種數(shù)據(jù)類型的有關(guān)知識十分必要。
VFP的數(shù)據(jù)類型有:字符型、數(shù)值型、日期型、日期時間型、邏輯型、備注型、通用型等。2總73頁第3頁學(xué)生情況表
備注型字符型邏輯型數(shù)值型日期型通用型3總73頁第4頁字符型數(shù)據(jù)由字母(A~Z或a~z)、漢字、數(shù)字(0~9)、空格等任意ASCII碼組成,長度為0~254,每個字符占一個字節(jié)。不能進行四則運算的數(shù)據(jù)須用字符型表示。
1.字符型(Character)4總73頁第5頁是描述數(shù)量的數(shù)據(jù)類型,細分為數(shù)值型、浮點型、貨幣型、雙精度型、整型5種。
(1)數(shù)值型:可以進行十進制算術(shù)運算的數(shù)值,由數(shù)字0~9、小數(shù)點和正負號組成,能夠進行四則運算。數(shù)值型數(shù)據(jù)最大長度20位,包括符號位和小數(shù)點,在內(nèi)存中占用8個字節(jié)。2.數(shù)值型(Numeric)5總73頁第6頁浮點型數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種,等同于數(shù)值型數(shù)據(jù),只是在存儲方式上使用浮點格式且精度更高,一般用于數(shù)據(jù)表的字段。浮點型數(shù)據(jù)由尾數(shù)、階數(shù)及字母E組成。如:0.618E+5(“+”可省略,表示0.618×10^5)(2)浮點型(Float)6總73頁第7頁(3)貨幣型(Currency)
貨幣型數(shù)據(jù)是數(shù)值型的貨幣值,寬度為8個字節(jié)。貨幣型數(shù)據(jù)最多只允許4位小數(shù),當字段值的小數(shù)位數(shù)超過4位時,VFP系統(tǒng)自動對其進行四舍五入,保留4位小數(shù)。在使用貨幣型數(shù)據(jù)時將數(shù)字前加貨幣符號如$123.45、¥567.90。7總73頁第8頁(4)雙精度型(Double)用于存儲要求數(shù)值精度高的數(shù)值型數(shù)據(jù)。雙精度型數(shù)據(jù)占用8個字節(jié),取值范圍介于+4.940656458124E-324~+8.988456743115E307之間。(5)整型(Integer)用于存儲不包含小數(shù)部分的數(shù)值。整型字段占4個字節(jié),取值介于-2147483647~2147483646之間。8總73頁第9頁
表示日期和時間的特殊數(shù)據(jù),用8個字節(jié)存儲,{}為定界符。 日期型數(shù)據(jù)取值范圍:
{^0001-01-01}—{^9999-12-31}
日期時間型數(shù)據(jù)時間部分取值范圍: 00:00:00AM—11:59:59PM
日期型數(shù)據(jù)一般輸入格式為: {^yyyy/mm/dd},如{^2007/12/31}3.日期型(Date)與日期時間型(DateTime)數(shù)據(jù):9總73頁第10頁4.邏輯型(Logical)
邏輯型字段的寬度固定為1個字節(jié)表示邏輯判斷結(jié)果的值。邏輯型數(shù)據(jù)只有兩個值:邏輯值True
(真).T.或邏輯值False(假).F.。如:表達式?3>4的運算結(jié)果為:.F.10總73頁第11頁5.備注型 備注型數(shù)據(jù)用于存放較長的字符型數(shù)據(jù)(字符數(shù)據(jù)塊),可以認為是字符型數(shù)據(jù)的特殊形式,只能用于數(shù)據(jù)表中的字段。 在表中,備注型字段占4個字節(jié),它實際只是存放一個指針(地址),用于指向字符在備注文件中的相對位置。 VFP系統(tǒng)將備注型數(shù)據(jù)存放在一個與數(shù)據(jù)表同名的備注文件中。譬如:一個有備注字段的數(shù)據(jù)表的文件名為test.dbf,對應(yīng)的備注文件名為test.fpt。11總73頁第12頁6.通用型 通用型數(shù)據(jù)用于存儲OLE對象的數(shù)據(jù),它只能用于數(shù)據(jù)表中的字段,長度固定為4個字節(jié)。 同備注型一樣,也只是存放一個指針用于指向?qū)嶋H數(shù)據(jù)在備注文件中的相對位置,實際數(shù)據(jù)或?qū)LE對象引用的路徑存放在與數(shù)據(jù)表同名的備注文件中。 OLE對象的具體內(nèi)容可以是一個電子表格、Word文檔或圖片等,所以通用型數(shù)據(jù)也沒有長度的限制,實際長度僅受限于現(xiàn)有的磁盤空間。12總73頁第13頁二、常量
常量用以表示一個具體的、不變的值。使用常量主要是簡化編程,提高程序的可讀性和可靠性。不同類型的常量有不同的書寫模式。1.數(shù)值型常量
數(shù)值型常量也就是常數(shù),用來表示一個數(shù)量的大小。2.貨幣型常量貨幣型常量用來表示貨幣值,其書寫格式與數(shù)值型常量相似,但要加上一個前置的符號($)。13總73頁第14頁3.字符型常量
字符型常量也稱為字符串,其表示方法是用半角單引號、雙引號或方括號把字符串括起來。這里的單引號、雙引號或方括號稱為定界符。
字符常量的定界符必須成對匹配。如果某種定界符本身也是字符串的內(nèi)容,則需要用另一種定界符為該字符串定界。
例:‘中國’,“中國”或[中國],[中國的”硅谷”]。
注意,不包含任何字符的字符串(“”)叫空串??沾c包含空格的字符串(“”)不同。14總73頁第15頁4.日期型常量日期型常量的定界符是一對花括號{}。日期型常量的格式有兩種:①傳統(tǒng)的日期格式
系統(tǒng)默認的日期型數(shù)據(jù)為“MM/DD/YY”(月/日/年),其中年份可以是2位數(shù)字,也可以是4位數(shù)字,如:{10/11/01}、{10-11-01}、{10112001}等。這種格式的日期型常量要受到命令語句SETDATETO和SETCENTURYTO設(shè)置的影響。②嚴格的日期格式
嚴格格式的日期型數(shù)據(jù)為{^yyyy-mm-dd},它不受SETDATE等語句設(shè)置的影響。15總73頁第16頁
注意:花括號內(nèi)第一個字符必須是”^”;年份必須用4位(如2012、1999等);年月日的次序不能顛倒、不能缺省。日期型數(shù)據(jù)用8個字節(jié)表示,取值范圍是:{^0001-01-01}~{^9999-12-31}。③影響日期格式的設(shè)置命令。命令格式:SETMARKTO[日期分隔符]命令功能:用于日期分隔符,如“-”、“.”等。如果執(zhí)行SETMARKTO沒有指定任何分隔符,表示恢復(fù)系統(tǒng)默認的斜杠分隔符。命令格式:SETDATE[TO]AMERICAN|;ANSI|BRITISH|FRENCH|GERMAN|ITALIAN|JAPAN|USA|MDY|DMY|YMD命令功能:設(shè)置日期顯示的格式。16總73頁第17頁命令格式:SETCENTURYON/OFF命令功能:用于設(shè)置年份的位數(shù)
ON
設(shè)置年份用4位數(shù)字表示
OFF設(shè)置年份用2位數(shù)字表示命令格式:SETSTRICTDATETO[0|1|2]命令功能:用于設(shè)置是否對日期格式進行檢查。
0
表示不進行嚴格的日期格式檢查,目的是與早期VisualFoxPro兼容。
1
表示進行嚴格的日期格式檢查,它是系統(tǒng)默認的設(shè)置。
2
表示進行嚴格的日期格式檢查,并且多CTOD()和CTOT()函數(shù)的格式也有效。17總73頁第18頁例:不進行嚴格的日期檢查。
SETSTRICTDATETO0?{^2010-01-01},{10-01-01}
設(shè)置年月日格式。
SETCENTURYOFFSETMARKTO“.”SETDATETOYMD?{^2010-01-01}18總73頁第19頁5.日期時間型常量
日期時間型常量包括日期和時間兩部分內(nèi)容:{<日期>,<時間>}。<日期>部分與日期型常量相似,也有傳統(tǒng)的和嚴格的兩種格式。
<時間>部分的格式為:[hh[:mm[:ss]][a|p]]。其中hh、mm和ss分別代表時、分、秒,默認值分別為12、0和0。a和p分別代表上午和下午,默認值為a。如果指定的時間大于等于12,則自然為下午的時間。
注意:時間的表示存在著許多等價的方法,如00:00:00AM等價于12:00:00AM(午夜),00:00:00PM等價于12:00:00PM(中午)。日期時間型數(shù)據(jù)用8個字節(jié)存儲。日期部分的取值范圍與日期型數(shù)據(jù)相同,時間部分的取值范圍是:00:00:00AM-11:59:59PM。19總73頁第20頁6.邏輯型常量
邏輯型數(shù)據(jù)只有邏輯真和邏輯假兩個值。邏輯真的常量表示形式有:
.T.、.t.、.Y.和.y.。邏輯假的常量表示形式有:
.F.、.f.、、.N.和.n.。邏輯數(shù)據(jù)只占用一個字節(jié)。20總73頁第21頁7.空值在程序設(shè)計的過程中,可以使用.NULL.來指定NULL值。注意:要判斷字段、變量或一個邏輯表達式是否為空值,可以使用ISNULL()函數(shù)。
VisualFoxPro支持的空值特點如下:⑴等價于沒有任何值;⑵它與0、空格、或空字符串("")不同;⑶排序時,它優(yōu)先于任何數(shù)據(jù);⑷在計算或大多數(shù)函數(shù)中都可以使用NULL值;⑸VisualFoxPro支持的NULL值符合ANSI標準,它可以出現(xiàn)在任何使用表達式或值的地方。21總73頁第22頁三、變量
是在命令操作和程序運行中可以改變的數(shù)據(jù),一般分為字段變量和內(nèi)存變量兩類。由于表中的各條記錄對同一個字段名可能取值不同,因此,表中的字段名本身就是變量,稱為字段變量。內(nèi)存變量是內(nèi)存中的一個存儲區(qū)域,變量值是存放在這個存儲區(qū)域里的數(shù)據(jù),變量的類型取決于變量值的類型,一種臨時變量,由用戶定義后用來存放程序運行的中間結(jié)果和最終結(jié)果。
內(nèi)存變量的數(shù)據(jù)類型包括字符型(C)、數(shù)值型(N)、貨幣型(Y)、邏輯型(L)、日期型(D)和日期時間型(T)。22總73頁第23頁
內(nèi)存變量除一般意義的簡單內(nèi)存變量(常直接稱內(nèi)存變量或簡稱變量)外,還有數(shù)組變量和系統(tǒng)變量兩種特殊形式。
系統(tǒng)變量是以符號“_”開頭、由系統(tǒng)自動定義生成的變量。 作用:控制輸出和顯示的格式等。 例: ?_SCREEN.FONTSIZE
變量名的命名規(guī)則:a由字母、下劃線、數(shù)字、漢字組成;b首字符只能是字母、下劃線、漢字;c長度不超過254個字符,每個漢字占2個字符23總73頁第24頁1、簡單內(nèi)存變量
每一個變量都有一個名字,可以通過變量名訪問變量。變量的賦值命令格式:
<內(nèi)存變量名>=<表達式>
STORE<表達式>TO<內(nèi)存變量名表>24總73頁第25頁功能注釋:
①等號一次只能給一個內(nèi)存變量賦值;STORE命令可以同時給若干個變量賦予相同的值,各內(nèi)存變量名之間必須用逗號分開。②在VisualFoxPro中,一個變量在使用之前一般并不需要特別的聲明或定義。當用STORE命令給變量賦值時,如果該變量并不存在,那么系統(tǒng)會自動建立它。③可以通過對內(nèi)存變量重新賦值來改變其內(nèi)容和類型。
注意區(qū)別:如果當前表中存在一個同名的字段變量,則在訪問內(nèi)存變量時,必須在變量名前加上前綴M.(或M->),否則系統(tǒng)將訪問同名的字段變量(字段變量優(yōu)先)。25總73頁第26頁示例:給內(nèi)存變量賦值。
STORE5TOa1,a2STORE“成都”
TO城市
rq={^2010/01/01}
三好生=.T.26總73頁第27頁2、數(shù)組變量
數(shù)組是內(nèi)存中連續(xù)的一片存儲區(qū)域,它由一系列元素組成,每個數(shù)組元素可通過數(shù)組名及相應(yīng)的下標來訪問。每個數(shù)組元素相當于一個簡單變量,可以給各元素分別賦值。在VisualFoxPro中,一個數(shù)組中各元素的數(shù)據(jù)類型可以不同。
命令格式:DIMENSION<數(shù)組名>(<下標上限1>)[,<下標上限2>])[,...]DECLARE<數(shù)組名>(<下標上限1>)[,<下標上限2>])[,...]以上兩種格式的功能完全相同。數(shù)組創(chuàng)建后,系統(tǒng)自動給每個數(shù)組元素賦以邏輯假.F.。與簡單內(nèi)存變量的區(qū)別:數(shù)組在使用之前一般要用DIMENSION或DECLARE命令顯示創(chuàng)建。27例如,DIMENSION
x(4),y(2,2)命令定義了兩個數(shù)組:一維數(shù)組x含4個元素:x(1)、x(2)、x(3)、x(4)。二維數(shù)組y含4個元素:y(1,1)、y(1,2)、y(2,1)y(2,2)。
整個數(shù)組的數(shù)據(jù)類型為A(Array),而各個數(shù)組元素可以分別存放不同類型的數(shù)據(jù)。注意:①在一切使用簡單內(nèi)存變量的地方,均可以使用數(shù)組元素。②在賦值和輸入語句中使用數(shù)組名時,表示將同一個值同時賦給該數(shù)組的全部數(shù)組元素。③在同一個運行環(huán)境下,數(shù)組名(不包含括號內(nèi)的下標)不能與簡單變量名重復(fù)。④可以用一維數(shù)組的形式訪問二維數(shù)組;同時,一維數(shù)組也可以用二維數(shù)組表示。28總73頁第29頁
數(shù)組的賦值: 數(shù)組定義后,各元素自動被賦于邏輯值.F.,對其各元素賦值與一般內(nèi)存變量相同(用賦值命令STORE或賦值符號”=”,如果賦值命令未指明下標,則所有元素賦相同的值.)例:DIME
A(5)STORE“ABC”TOA(1),A(2) A(3)=“數(shù)組賦值”
a(4)=4DISPMEMOLIKEA?
屏幕顯示:
APubA(1)C"ABC"(2)C"ABC"(3)C"數(shù)組賦值"(4)N4(4.00000000)(5)L.F.29總73頁第30頁3、字段變量 指表中的字段,是在打開表時自動建立的,在VisualFoxPro中每個表的結(jié)構(gòu)是由若干個字段及其數(shù)據(jù)類型等構(gòu)成,對于當前訪問的記錄來說,字段名的取值可隨著當前的記錄而改變,因此表中的字段名就是變量,稱為字段變量。30總73頁第31頁字段類型類型名稱說明寬度應(yīng)用舉例
字符型(Character)數(shù)字、字母、符號<=254姓名、住址貨幣型(Currency)貨幣單位8存款、價格數(shù)值型(Numeric)整數(shù)、小數(shù)<=20考試成績浮點型(Float)同數(shù)值型日期型(Date)年、月、日8參加工作時間日期時間型年、月、日、8
上班時間(DateTime)時、分、秒整型(Integer)無小數(shù)點數(shù)4單位人數(shù)雙精度型(Double)雙精度數(shù)8邏輯型(Logical)真或假1作業(yè)完成否通用型(General)OLE(對象鏈接與嵌入)4EXCEL表格、圖片備注型(Memo)文本4人員簡歷、產(chǎn)品簡介31總73頁第32頁內(nèi)存變量常用命令
1.表達式值的顯示格式1:?[<表達式表>]格式2:??<表達式表>功能:計算表達式中的各表達式并輸出各表達式值。區(qū)別:格式1表達式值將在下一行的起始處輸出。格式2表達式值在當前行的光標所在處直接輸出。32總73頁第33頁2.內(nèi)存變量的顯示
格式1:LIST
MEMORY[LIKE<通配符>][TO
PRINTER|TO
FILE<文件名>]
格式2:DISPLAY
MEMORY[LIKE<通配符>][TO
PRINTER|TO
FILE<文件名>]
功能:顯示內(nèi)存變量的當前信息,包括變量名、作用域、類型、取值。
選用LIKE短語只顯示與通配符相匹配的內(nèi)存變量。通配符包括*和?。*表示任意多個字符,?表示任意一個字符。
33總73頁第34頁可選子句TOPRINTER或TOFILE<文件名>用于在顯示的同時送往打印機,或者存入給定文件名的文本文件中,文件的擴展名為.txt。LISTMEMORY一次顯示與通配符匹配的所有內(nèi)存變量,如果內(nèi)存變量多,一屏顯示不下,則自動向上滾動。DISPLAYMEMORY分屏顯示與通配符匹配的所有內(nèi)存變量,如果內(nèi)存變量多,顯示一屏后暫停,按任意鍵之后再繼續(xù)顯示下一屏。343.內(nèi)存變量的保存與恢復(fù)(1)內(nèi)存變量的保存
格式:SAVETO<內(nèi)存變量文件名>[ALLLIKE<通配符>/ALLEXCEPCT<通配符>]
功能:將當前內(nèi)存中除系統(tǒng)變量的內(nèi)存變量存放到內(nèi)存變量文件中。選用LIKE短語只顯示與通配符相匹配的內(nèi)存變量。通配符包括*和?。*表示任意多個字符,?表示任意一個字符。說明:內(nèi)存變量文件的擴展名為.MEM;缺省可選項時,將所有內(nèi)存變量(系統(tǒng)變量除外)存放到內(nèi)存變量文件中。35總73頁第36頁(2)內(nèi)存變量的恢復(fù)格式:RESTOREFROM<內(nèi)存變量文件名>[ADDITIVE]功能:恢復(fù)保存在變量文件中的變量到內(nèi)存。參數(shù)[ADDITIVE]防止刪除當前內(nèi)存中已有的變量。注意:
a.恢復(fù)變量時,如果變量與已有變量有相同的名稱,則用恢復(fù)的變量的值改寫原有變量的值;
b.如果命令中沒有包括ADDITIVE關(guān)鍵字,RESTOREFROM將清除當前內(nèi)存中的所有變量或數(shù)組;
c.RESTOREFROM命令不影響系統(tǒng)變量。36總73頁第37頁4.內(nèi)存變量的清除格式1:CLEARALL|MEMORY格式2:RELEASE<內(nèi)存變量名表>格式3:RELEASEALL[EXTENDED]格式4:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]37總73頁第38頁功能:格式1清除所有的內(nèi)存變量。格式2清除指定的內(nèi)存變量。格式3清除所用的內(nèi)存變量。在人機會話狀態(tài)其作用與格式1相同。如果出現(xiàn)在程序中,則應(yīng)該加上短語EXTENDED,否則不能刪除公共內(nèi)存變量。格式4選用LIKE短語清除與通配符相匹配的內(nèi)存變量,選用EXCEPT短語清除與通配符不相匹配的內(nèi)存變量。例如:RELEASEALLLIKEA*表示清除變量名以A開頭的所有內(nèi)存變量。38總73頁第39頁3.2運算符與表達式數(shù)值表達式
數(shù)值表達式由算術(shù)運算符將數(shù)值型數(shù)據(jù)連接起來形成,其運算結(jié)果仍然是數(shù)值型數(shù)據(jù)。數(shù)值型數(shù)據(jù)可以是數(shù)值型常量或者變量。①算術(shù)運算優(yōu)先級
數(shù)值表達式中的算術(shù)運算符有些與日常使用的運算符稍有區(qū)別,算術(shù)運算符及其含義和優(yōu)先級如表所示。39總73頁第40頁表-算術(shù)運算符及其優(yōu)先級優(yōu)先級運算符說明1()形成表達式內(nèi)的子表達式2**或^乘方運算3*、/、%乘、除運算、求余運算4+、-加、減運算40②求余運算求余運算%和取余函數(shù)MOD()的作用相同。余數(shù)的正負號與除數(shù)一致。當表達式中出現(xiàn)乘、除/和求余運算%時,它們具有相同的優(yōu)先級。字符表達式字符表達式由字符串運算符將字符型數(shù)據(jù)連接起來形成,其運算結(jié)果仍然是字符型數(shù)據(jù)。運算符為:
+:前后兩個字符串首尾連接形成一個新的字符串。
-:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。注意:它們的優(yōu)先級相同41總73頁第42頁日期時間表達式運算符為:+和-。運算格式如下表所示
注意:符號“+”和“-”即可以作為日期時間運算符,也可以作為算術(shù)運算符和字符串連接運算符。到底作為那種運算符使用,要看它們所連接的運算對象的數(shù)據(jù)類型而定。42格式結(jié)果及類型<日期>+<天數(shù)>日期型。指定日期若干天后的日期<天數(shù)>+<日期>日期型。指定日期若干天后的日期<日期>-<天數(shù)>日期型。指定日期若干天前的日期<日期>-<日期>數(shù)值型。兩個指定日期相差的天數(shù)<日期時間>+<秒數(shù)>日期時間型。指定日期時間若干秒后的日期時間<秒數(shù)>+<日期時間>日期時間型。指定日期時間若干秒后的日期時間<日期時間>-<秒數(shù)>日期時間型。指定日期時間若干秒前的日期時間<日期時間>-<日期時間>數(shù)值型。兩個指定日期時間相差的秒數(shù)
日期時間表達式的格式43總73頁第44頁關(guān)系表達式
1.關(guān)系表達式
關(guān)系表達式通常也稱為簡單邏輯表達式,它由關(guān)系運算符將兩個運算對象連接起來形成,即:<表達式1><關(guān)系表達式><表達式2>。
關(guān)系運算符的作用是比較兩個表達式的大小或前后。其運算結(jié)果是邏輯型數(shù)據(jù)。關(guān)系運算符及其含義如表所示。44關(guān)系運算符運算符說明運算符說明<小于<=小于等于>大于>=大于等于=等于=
=字符串精確比較<>、#或!=不等于$子串包含測試45總73頁第46頁注意:1、上表運算符的優(yōu)先級相同。運算符==和$僅適用與字符型數(shù)據(jù)。其他運算符適用于任何類型的數(shù)據(jù),但前后兩個運算對象的數(shù)據(jù)類型要一致。幾個數(shù)據(jù)比較大小的規(guī)定:①數(shù)值型和貨幣型數(shù)據(jù)比較按數(shù)值的大小比較,包括負號。例如,0>-1、$150>$105。②日期或日期時間型數(shù)據(jù)比較越早的日期或時間越小,越晚的日期或時間越大。例如,{^2002-01-10}>={^2001-12-28}。46總73頁第47頁③邏輯型數(shù)據(jù)比較.T.大于.F.④子串包含測試關(guān)系表達式<前字符型表達式>$<后字符型表達式>為子串包含測試。如果前者是后者的一個子字符串,結(jié)果為邏輯真(.T.),否則為邏輯假(.F.)。472.設(shè)置字符的排序次序
當比較兩個字符串時,系統(tǒng)對兩個字符串的字符自左向右逐個進行比較,一旦發(fā)現(xiàn)兩個對應(yīng)字符不同,就根據(jù)這兩個字符的排序序列決定兩個字符串的大小。設(shè)置字符比較次序的命令是:SETCOLLATETO"排序次序名"
排序次序名必須放在引號當中。次序名可以是:Machine(機器)次序PinYin(拼音)次序Stroke(筆畫)次序.
系統(tǒng)當前的排序次序查看:
命令方式:?SET('COLLATE')
菜單方式:工具選項“數(shù)據(jù)”選項卡排序序列(在其中,可對“排序序列”進行設(shè)置)48總73頁第49頁雙等號運算符==比較兩個字符串時,只有當兩個字符串完全相同(包括空格以及各字符的位置)時,運算結(jié)果才會是邏輯真.T.,否則為邏輯假.F.。單等號運算符=比較兩個字符串時,運算結(jié)果與SETEXACTON/OFF設(shè)置有關(guān)。3.字符串精確比較與EXACT設(shè)置49總73頁第50頁邏輯表達式
邏輯表達式由邏輯運算符將邏輯型數(shù)據(jù)連接起來而形成,其運算結(jié)果仍然是邏輯型數(shù)據(jù)。邏輯運算符:.NOT.或!(邏輯非).AND.(邏輯與).OR.(邏輯或)。(運算符前后的點可省略。)運算規(guī)則:非:真變假,假變真與:同真為真,有假為假或:有真為真,同假為假優(yōu)先級順序依次為NOT、AND、OR。50運算符及表達式的運算順序: 表達式由運算符號及運算對象組成,運算符兩邊的類型必須一致,運算順序按運算符的優(yōu)先級進行(括號優(yōu)先級最高)。 算術(shù)運算符運算順序: 乘方乘除(模)加減 邏輯運算符運算順序:
.NOT..AND..OR.
表達式運算順序:算術(shù)運算(字符運算、日期時間運算)關(guān)系運算邏輯運算51總73頁第52頁思考下列表達式的運算結(jié)果:?2**4=4^2
?"AB"="ABC"
?"ABC"="AB"
?"ABC">"AB"
?"ABC"<"ABD"
?
"ABC"<"A"-"CD".AND..F..OR..NOT.2**4<>4^2AND1<252總73頁第53頁3.3常用函數(shù)
函數(shù)是數(shù)據(jù)運算的一種特殊形式,用于實現(xiàn)某些特定運算。函數(shù)的基本形式如下: 函數(shù)名([<參數(shù)表>])說明:(1)函數(shù)名后面是一對圓括號,圓括號內(nèi)可以有參數(shù),也可以沒有參數(shù)。(2)參數(shù)是函數(shù)的自變量,可以是常量,也可以是變量,但參數(shù)的數(shù)據(jù)類型是固定的。(3)函數(shù)運算后會返回一個值,稱為函數(shù)值。53總73頁第54頁一、數(shù)值函數(shù)數(shù)值函數(shù)是指函數(shù)值為數(shù)值的一類函數(shù),它們的自變量和返回值往往都是數(shù)值型數(shù)據(jù)。1.絕對值和符號函數(shù)格式:
ABS(<數(shù)值表達式>)
SIGN(<數(shù)值表達式>)功能:
ABS()返回數(shù)值表達式的絕對值。
SIGN()返回數(shù)值表達式的符號。當表達式的運算結(jié)果為正、負和零時,函數(shù)值分別為1、-1和0。54總73頁第55頁2.求平方根函數(shù)
格式:SQRT(<數(shù)值表達式>)
功能:返回表達式的平方根。
注意:自變量表達式的值不能為負。3.圓周率函數(shù)
格式:PI()
功能:返回圓周率π(數(shù)值型),該函數(shù)沒有自變量。55總73頁第56頁格式:INT(<數(shù)值表達式>)
CEILING(<數(shù)值表達式>)
FLOOR(<數(shù)值表達式>)功能:
INT()返回數(shù)值表達式的整數(shù)部分。
CEILING()返回大于或等于數(shù)值表達式的最小整數(shù)。
FLOOR()返回小于或等于數(shù)值表達式的最大整數(shù)。4.求整數(shù)函數(shù)565.四舍五入函數(shù)格式:ROUND(<數(shù)值表達式1>,<數(shù)值表達式2>)功能:返回表達式1在指定位置四舍五入后的結(jié)果,<數(shù)值表達式2>指明四舍五入的位數(shù)。6.求余數(shù)函數(shù)格式:MOD(<數(shù)值表達式1>,<數(shù)值表達式2>)功能:返回兩個數(shù)值相除后的余數(shù),<數(shù)值表達式1>是被除數(shù),<數(shù)值表達式2>是除數(shù)。說明:余數(shù)的符號與除數(shù)相同。如果兩數(shù)符號相同,函數(shù)值為兩數(shù)相除的余數(shù);如果兩數(shù)異號,則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。57總73頁第58頁7.求最大值和最小值函數(shù)格式:MAX(<數(shù)值表達式>,<數(shù)值表達式2>[,<數(shù)值表達式3>…])MIN(<數(shù)值表達式1>,<數(shù)值表達式2>[,<數(shù)值表達式>…])功能:MAX()計算各自變量表達式的值,并返回其中的最大值。
MIN()計算各自變量表達式的值,并返回其中的最小值。自變量表達式的類型可以是數(shù)值型、字符型、貨幣型、雙精度型、浮點型、日期型和日期時間型,但所有表達式的類型必須相同。58總73頁第59頁二、字符函數(shù)
字符函數(shù)是指自變量一般是字符型數(shù)據(jù)的函數(shù)。1.求字符串長度函數(shù)格式:LEN(<字符表達式>)
功能:返回指定字符表達式值的長度。函數(shù)值為數(shù)值型。59總73頁第60頁2.大小寫轉(zhuǎn)換函數(shù)格式:LOWER(<字符表達式>)UPPER(<字符表達式>)功能:LOWER()大寫字母轉(zhuǎn)換成小寫字母,其他字符不變。UPPER()小寫字母轉(zhuǎn)換成大寫字母,其他字符不變。60總73頁第61頁3.空格字符串生成函數(shù)格式:SPACE(<數(shù)值表達式>)功能:返回由指定數(shù)目的空格組成的字符串。4.刪除前后空格函數(shù)格式:TRIM(<字符表達式>)
LTRIM(<字符表達式>)
ALLTRIM(<字符表達式>)功能:TRIM()去掉尾部空格。
LTRIM()去掉首部空格。
ALLTRIM()去掉首部和尾部空格。61總73頁第62頁5.取子串函數(shù)格式:LEFT(<字符表達式>,<長度>)RIGHT(<字符表達式>,<長度>)SUBSTR(<字符表達式>,起始位置)[,<長度>])功能:LEFT()從指定表達式值的左端取一個指定長度的子串作為函數(shù)值。
RIGHT()從指定表達式值的右端取一個指定長度的子串作為函數(shù)值。
SUBSTR()從指定表達式值的指定起始位置取指定長度的子串作為函數(shù)。
在SUBSTR()函數(shù)中,若缺省第三個自變量<長度>,則函數(shù)從指定位置一直取到最后一個字符。62總73頁第63頁6.計算子串出現(xiàn)次數(shù)函數(shù)格式:OCCURS(<字符表達式1>,<字符表達式2>)功能:返回第一個字符串在第二個字符串中出現(xiàn)的次數(shù),函數(shù)值為數(shù)值型,若第一個字符串不是第一個字符串的子串,函數(shù)值為0。7.子串替換函數(shù)格式:STUFF(<字符表達式1>,<起始位置>,<長度>,<字符表達式2>)功能:用<字符表達式2>值替換<字符表達式1>中由<起始位置>和<長度>指明的一個子串。63總73頁第64頁
8.求子串位置函數(shù)格式:AT(<字符表達式1>,<字符表達式2>[,<數(shù)值表達式>])ATC(<字符表達式1),<字符表達式2>[,<數(shù)值表達式>])功能:AT()的函數(shù)值為數(shù)值型。如果<字符表達式1>是<字符表達式2>的子串,則返回<字符表達式1>值的首字符在<字符表達式2>值中的位置;若不是子串,則返回0。ATC()與AT()功能類似,但在子串比較時不區(qū)分字母大小寫。
第三個自變量<數(shù)值表達式>用于表明要在<字符表達式2>值中搜索<字符表達式1>值的
第幾次出現(xiàn),其默認值是1。64總73頁第65頁三、日期和時間函數(shù)
日期和時間函數(shù)的自變量一般是日期型數(shù)據(jù)或日期時間型數(shù)據(jù)。1.系統(tǒng)日期和時間函數(shù)格式:DATE()
TIME()DATETIME()功能:DATE()返回當前系統(tǒng)日期,函數(shù)值為日期型。
TIME()以24小時制,hh:mm:ss格式返回當前系統(tǒng)時間,函數(shù)值為字符型。DATETIME()返回當前系統(tǒng)日期時間,函數(shù)值為日期時間型。65總73頁第66頁
2.求年份、月份和天數(shù)函數(shù)格式:YEAR(<日期表達式>|<日期時間表達式>)MONTH(<日期表達式>|<日期時間表達式>)DAY(
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年視覺傳播設(shè)計知識考察試題及答案
- 現(xiàn)場檢驗員試題及答案
- 宜興小語面試題及答案
- 商業(yè)分析師考試成果展示試題與答案
- 2024秋三年級英語上冊 Module 2 Introductions Unit 2 What's your name教學(xué)設(shè)計 外研版(三起)
- 初中物理中的熱平衡現(xiàn)象試題及答案
- 行政強制法考試題及答案
- 小自考漢語言文學(xué)趣味知識與試題及答案
- 26西門豹治鄴教學(xué)設(shè)計-2024-2025學(xué)年四年級上冊語文統(tǒng)編版
- 收納師職業(yè)發(fā)展趨勢分析試題及答案
- 2025年河南藝術(shù)職業(yè)學(xué)院單招職業(yè)技能測試題庫及參考答案
- XX化工企業(yè)停工安全風(fēng)險評估報告
- 2025年吉林鐵道職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫必考題
- 實驗室試劑及儀器采購合同書
- 全國川教版信息技術(shù)八年級下冊第二單元第3節(jié)《評價文創(chuàng)作品》教學(xué)設(shè)計
- 帶押過戶申請書
- 臨邊防護安全培訓(xùn)課件
- 專題04-完形填空2023年高考英語三模試題分項匯編(新高考八省專用)-(原卷版)
- 詩詞接龍完整版本
- 上海市2024年中考英語試題及答案
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標準(2024版)宣傳畫冊
評論
0/150
提交評論