




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