




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
總73頁第1頁第3章VisualFoxPro的數(shù)據(jù)元素提要3.1VFP的數(shù)據(jù)類型及常量與變量3.2運(yùn)算符與表達(dá)式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ù)值型、日期型、日期時(shí)間型、邏輯型、備注型、通用型等。2總73頁第3頁學(xué)生情況表
備注型字符型邏輯型數(shù)值型日期型通用型3總73頁第4頁字符型數(shù)據(jù)由字母(A~Z或a~z)、漢字、數(shù)字(0~9)、空格等任意ASCII碼組成,長度為0~254,每個(gè)字符占一個(gè)字節(jié)。不能進(jìn)行四則運(yùn)算的數(shù)據(jù)須用字符型表示。
1.字符型(Character)4總73頁第5頁是描述數(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ù)號組成,能夠進(jìn)行四則運(yùn)算。數(shù)值型數(shù)據(jù)最大長度20位,包括符號位和小數(shù)點(diǎn),在內(nèi)存中占用8個(gè)字節(jié)。2.?dāng)?shù)值型(Numeric)5總73頁第6頁浮點(diǎn)型數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種,等同于數(shù)值型數(shù)據(jù),只是在存儲方式上使用浮點(diǎn)格式且精度更高,一般用于數(shù)據(jù)表的字段。浮點(diǎn)型數(shù)據(jù)由尾數(shù)、階數(shù)及字母E組成。如:0.618E+5(“+”可省略,表示0.618×10^5)(2)浮點(diǎn)型(Float)6總73頁第7頁(3)貨幣型(Currency)
貨幣型數(shù)據(jù)是數(shù)值型的貨幣值,寬度為8個(gè)字節(jié)。貨幣型數(shù)據(jù)最多只允許4位小數(shù),當(dāng)字段值的小數(shù)位數(shù)超過4位時(shí),VFP系統(tǒng)自動(dòng)對其進(jìn)行四舍五入,保留4位小數(shù)。在使用貨幣型數(shù)據(jù)時(shí)將數(shù)字前加貨幣符號如$123.45、¥567.90。7總73頁第8頁(4)雙精度型(Double)用于存儲要求數(shù)值精度高的數(shù)值型數(shù)據(jù)。雙精度型數(shù)據(jù)占用8個(gè)字節(jié),取值范圍介于+4.940656458124E-324~+8.988456743115E307之間。(5)整型(Integer)用于存儲不包含小數(shù)部分的數(shù)值。整型字段占4個(gè)字節(jié),取值介于-2147483647~2147483646之間。8總73頁第9頁
表示日期和時(shí)間的特殊數(shù)據(jù),用8個(gè)字節(jié)存儲,{}為定界符。 日期型數(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頁第10頁4.邏輯型(Logical)
邏輯型字段的寬度固定為1個(gè)字節(jié)表示邏輯判斷結(jié)果的值。邏輯型數(shù)據(jù)只有兩個(gè)值:邏輯值True
(真).T.或邏輯值False(假).F.。如:表達(dá)式?3>4的運(yùn)算結(jié)果為:.F.10總73頁第11頁5.備注型 備注型數(shù)據(jù)用于存放較長的字符型數(shù)據(jù)(字符數(shù)據(jù)塊),可以認(rèn)為是字符型數(shù)據(jù)的特殊形式,只能用于數(shù)據(jù)表中的字段。 在表中,備注型字段占4個(gè)字節(jié),它實(shí)際只是存放一個(gè)指針(地址),用于指向字符在備注文件中的相對位置。 VFP系統(tǒng)將備注型數(shù)據(jù)存放在一個(gè)與數(shù)據(jù)表同名的備注文件中。譬如:一個(gè)有備注字段的數(shù)據(jù)表的文件名為test.dbf,對應(yīng)的備注文件名為test.fpt。11總73頁第12頁6.通用型 通用型數(shù)據(jù)用于存儲OLE對象的數(shù)據(jù),它只能用于數(shù)據(jù)表中的字段,長度固定為4個(gè)字節(jié)。 同備注型一樣,也只是存放一個(gè)指針用于指向?qū)嶋H數(shù)據(jù)在備注文件中的相對位置,實(shí)際數(shù)據(jù)或?qū)LE對象引用的路徑存放在與數(shù)據(jù)表同名的備注文件中。 OLE對象的具體內(nèi)容可以是一個(gè)電子表格、Word文檔或圖片等,所以通用型數(shù)據(jù)也沒有長度的限制,實(shí)際長度僅受限于現(xiàn)有的磁盤空間。12總73頁第13頁二、常量
常量用以表示一個(gè)具體的、不變的值。使用常量主要是簡化編程,提高程序的可讀性和可靠性。不同類型的常量有不同的書寫模式。1.數(shù)值型常量
數(shù)值型常量也就是常數(shù),用來表示一個(gè)數(shù)量的大小。2.貨幣型常量貨幣型常量用來表示貨幣值,其書寫格式與數(shù)值型常量相似,但要加上一個(gè)前置的符號($)。13總73頁第14頁3.字符型常量
字符型常量也稱為字符串,其表示方法是用半角單引號、雙引號或方括號把字符串括起來。這里的單引號、雙引號或方括號稱為定界符。
字符常量的定界符必須成對匹配。如果某種定界符本身也是字符串的內(nèi)容,則需要用另一種定界符為該字符串定界。
例:‘中國’,“中國”或[中國],[中國的”硅谷”]。
注意,不包含任何字符的字符串(“”)叫空串。空串與包含空格的字符串(“”)不同。14總73頁第15頁4.日期型常量日期型常量的定界符是一對花括號{}。日期型常量的格式有兩種:①傳統(tǒng)的日期格式
系統(tǒng)默認(rèn)的日期型數(shù)據(jù)為“MM/DD/YY”(月/日/年),其中年份可以是2位數(shù)字,也可以是4位數(shù)字,如:{10/11/01}、{10-11-01}、{10112001}等。這種格式的日期型常量要受到命令語句SETDATETO和SETCENTURYTO設(shè)置的影響。②嚴(yán)格的日期格式
嚴(yán)格格式的日期型數(shù)據(jù)為{^yyyy-mm-dd},它不受SETDATE等語句設(shè)置的影響。15總73頁第16頁
注意:花括號內(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頁第17頁命令格式:SETCENTURYON/OFF命令功能:用于設(shè)置年份的位數(shù)
ON
設(shè)置年份用4位數(shù)字表示
OFF設(shè)置年份用2位數(shù)字表示命令格式:SETSTRICTDATETO[0|1|2]命令功能:用于設(shè)置是否對日期格式進(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頁第18頁例:不進(jìn)行嚴(yán)格的日期檢查。
SETSTRICTDATETO0?{^2010-01-01},{10-01-01}
設(shè)置年月日格式。
SETCENTURYOFFSETMARKTO“.”SETDATETOYMD?{^2010-01-01}18總73頁第19頁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é)存儲。日期部分的取值范圍與日期型數(shù)據(jù)相同,時(shí)間部分的取值范圍是:00:00:00AM-11:59:59PM。19總73頁第20頁6.邏輯型常量
邏輯型數(shù)據(jù)只有邏輯真和邏輯假兩個(gè)值。邏輯真的常量表示形式有:
.T.、.t.、.Y.和.y.。邏輯假的常量表示形式有:
.F.、.f.、、.N.和.n.。邏輯數(shù)據(jù)只占用一個(gè)字節(jié)。20總73頁第21頁7.空值在程序設(shè)計(jì)的過程中,可以使用.NULL.來指定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頁第22頁三、變量
是在命令操作和程序運(yùn)行中可以改變的數(shù)據(jù),一般分為字段變量和內(nèi)存變量兩類。由于表中的各條記錄對同一個(gè)字段名可能取值不同,因此,表中的字段名本身就是變量,稱為字段變量。內(nèi)存變量是內(nèi)存中的一個(gè)存儲區(qū)域,變量值是存放在這個(gè)存儲區(qū)域里的數(shù)據(jù),變量的類型取決于變量值的類型,一種臨時(shí)變量,由用戶定義后用來存放程序運(yùn)行的中間結(jié)果和最終結(jié)果。
內(nèi)存變量的數(shù)據(jù)類型包括字符型(C)、數(shù)值型(N)、貨幣型(Y)、邏輯型(L)、日期型(D)和日期時(shí)間型(T)。22總73頁第23頁
內(nèi)存變量除一般意義的簡單內(nèi)存變量(常直接稱內(nèi)存變量或簡稱變量)外,還有數(shù)組變量和系統(tǒng)變量兩種特殊形式。
系統(tǒng)變量是以符號“_”開頭、由系統(tǒng)自動(dòng)定義生成的變量。 作用:控制輸出和顯示的格式等。 例: ?_SCREEN.FONTSIZE
變量名的命名規(guī)則:a由字母、下劃線、數(shù)字、漢字組成;b首字符只能是字母、下劃線、漢字;c長度不超過254個(gè)字符,每個(gè)漢字占2個(gè)字符23總73頁第24頁1、簡單內(nèi)存變量
每一個(gè)變量都有一個(gè)名字,可以通過變量名訪問變量。變量的賦值命令格式:
<內(nèi)存變量名>=<表達(dá)式>
STORE<表達(dá)式>TO<內(nèi)存變量名表>24總73頁第25頁功能注釋:
①等號一次只能給一個(gè)內(nèi)存變量賦值;STORE命令可以同時(shí)給若干個(gè)變量賦予相同的值,各內(nèi)存變量名之間必須用逗號分開。②在VisualFoxPro中,一個(gè)變量在使用之前一般并不需要特別的聲明或定義。當(dāng)用STORE命令給變量賦值時(shí),如果該變量并不存在,那么系統(tǒng)會自動(dòng)建立它。③可以通過對內(nèi)存變量重新賦值來改變其內(nèi)容和類型。
注意區(qū)別:如果當(dāng)前表中存在一個(gè)同名的字段變量,則在訪問內(nèi)存變量時(shí),必須在變量名前加上前綴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ū)域,它由一系列元素組成,每個(gè)數(shù)組元素可通過數(shù)組名及相應(yīng)的下標(biāo)來訪問。每個(gè)數(shù)組元素相當(dāng)于一個(gè)簡單變量,可以給各元素分別賦值。在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.。與簡單內(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ù)。注意:①在一切使用簡單內(nèi)存變量的地方,均可以使用數(shù)組元素。②在賦值和輸入語句中使用數(shù)組名時(shí),表示將同一個(gè)值同時(shí)賦給該數(shù)組的全部數(shù)組元素。③在同一個(gè)運(yùn)行環(huán)境下,數(shù)組名(不包含括號內(nèi)的下標(biāo))不能與簡單變量名重復(fù)。④可以用一維數(shù)組的形式訪問二維數(shù)組;同時(shí),一維數(shù)組也可以用二維數(shù)組表示。28總73頁第29頁
數(shù)組的賦值: 數(shù)組定義后,各元素自動(dòng)被賦于邏輯值.F.,對其各元素賦值與一般內(nèi)存變量相同(用賦值命令STORE或賦值符號”=”,如果賦值命令未指明下標(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頁第30頁3、字段變量 指表中的字段,是在打開表時(shí)自動(dòng)建立的,在VisualFoxPro中每個(gè)表的結(jié)構(gòu)是由若干個(gè)字段及其數(shù)據(jù)類型等構(gòu)成,對于當(dāng)前訪問的記錄來說,字段名的取值可隨著當(dāng)前的記錄而改變,因此表中的字段名就是變量,稱為字段變量。30總73頁第31頁字段類型類型名稱說明寬度應(yīng)用舉例
字符型(Character)數(shù)字、字母、符號<=254姓名、住址貨幣型(Currency)貨幣單位8存款、價(jià)格數(shù)值型(Numeric)整數(shù)、小數(shù)<=20考試成績浮點(diǎn)型(Float)同數(shù)值型日期型(Date)年、月、日8參加工作時(shí)間日期時(shí)間型年、月、日、8
上班時(shí)間(DateTime)時(shí)、分、秒整型(Integer)無小數(shù)點(diǎn)數(shù)4單位人數(shù)雙精度型(Double)雙精度數(shù)8邏輯型(Logical)真或假1作業(yè)完成否通用型(General)OLE(對象鏈接與嵌入)4EXCEL表格、圖片備注型(Memo)文本4人員簡歷、產(chǎn)品簡介31總73頁第32頁內(nèi)存變量常用命令
1.表達(dá)式值的顯示格式1:?[<表達(dá)式表>]格式2:??<表達(dá)式表>功能:計(jì)算表達(dá)式中的各表達(dá)式并輸出各表達(dá)式值。區(qū)別:格式1表達(dá)式值將在下一行的起始處輸出。格式2表達(dá)式值在當(dāng)前行的光標(biāo)所在處直接輸出。32總73頁第33頁2.內(nèi)存變量的顯示
格式1:LIST
MEMORY[LIKE<通配符>][TO
PRINTER|TO
FILE<文件名>]
格式2:DISPLAY
MEMORY[LIKE<通配符>][TO
PRINTER|TO
FILE<文件名>]
功能:顯示內(nèi)存變量的當(dāng)前信息,包括變量名、作用域、類型、取值。
選用LIKE短語只顯示與通配符相匹配的內(nèi)存變量。通配符包括*和?。*表示任意多個(gè)字符,?表示任意一個(gè)字符。
33總73頁第34頁可選子句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短語只顯示與通配符相匹配的內(nèi)存變量。通配符包括*和?。*表示任意多個(gè)字符,?表示任意一個(gè)字符。說明:內(nèi)存變量文件的擴(kuò)展名為.MEM;缺省可選項(xiàng)時(shí),將所有內(nèi)存變量(系統(tǒng)變量除外)存放到內(nèi)存變量文件中。35總73頁第36頁(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頁第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)存變量。在人機(jī)會話狀態(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運(yùn)算符與表達(dá)式數(shù)值表達(dá)式
數(shù)值表達(dá)式由算術(shù)運(yùn)算符將數(shù)值型數(shù)據(jù)連接起來形成,其運(yùn)算結(jié)果仍然是數(shù)值型數(shù)據(jù)。數(shù)值型數(shù)據(jù)可以是數(shù)值型常量或者變量。①算術(shù)運(yùn)算優(yōu)先級
數(shù)值表達(dá)式中的算術(shù)運(yùn)算符有些與日常使用的運(yùn)算符稍有區(qū)別,算術(shù)運(yùn)算符及其含義和優(yōu)先級如表所示。39總73頁第40頁表-算術(shù)運(yùn)算符及其優(yōu)先級優(yōu)先級運(yùn)算符說明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ù)號與除數(shù)一致。當(dāng)表達(dá)式中出現(xiàn)乘、除/和求余運(yùn)算%時(shí),它們具有相同的優(yōu)先級。字符表達(dá)式字符表達(dá)式由字符串運(yùn)算符將字符型數(shù)據(jù)連接起來形成,其運(yùn)算結(jié)果仍然是字符型數(shù)據(jù)。運(yùn)算符為:
+:前后兩個(gè)字符串首尾連接形成一個(gè)新的字符串。
-:連接前后兩個(gè)字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。注意:它們的優(yōu)先級相同41總73頁第42頁日期時(shí)間表達(dá)式運(yùn)算符為:+和-。運(yùn)算格式如下表所示
注意:符號“+”和“-”即可以作為日期時(shí)間運(yùn)算符,也可以作為算術(shù)運(yùn)算符和字符串連接運(yùn)算符。到底作為那種運(yùn)算符使用,要看它們所連接的運(yùn)算對象的數(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頁第44頁關(guān)系表達(dá)式
1.關(guān)系表達(dá)式
關(guān)系表達(dá)式通常也稱為簡單邏輯表達(dá)式,它由關(guān)系運(yùn)算符將兩個(gè)運(yùn)算對象連接起來形成,即:<表達(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)算符說明運(yùn)算符說明<小于<=小于等于>大于>=大于等于=等于=
=字符串精確比較<>、#或!=不等于$子串包含測試45總73頁第46頁注意:1、上表運(yùn)算符的優(yōu)先級相同。運(yùn)算符==和$僅適用與字符型數(shù)據(jù)。其他運(yùn)算符適用于任何類型的數(shù)據(jù),但前后兩個(gè)運(yùn)算對象的數(shù)據(jù)類型要一致。幾個(gè)數(shù)據(jù)比較大小的規(guī)定:①數(shù)值型和貨幣型數(shù)據(jù)比較按數(shù)值的大小比較,包括負(fù)號。例如,0>-1、$150>$105。②日期或日期時(shí)間型數(shù)據(jù)比較越早的日期或時(shí)間越小,越晚的日期或時(shí)間越大。例如,{^2002-01-10}>={^2001-12-28}。46總73頁第47頁③邏輯型數(shù)據(jù)比較.T.大于.F.④子串包含測試關(guān)系表達(dá)式<前字符型表達(dá)式>$<后字符型表達(dá)式>為子串包含測試。如果前者是后者的一個(gè)子字符串,結(jié)果為邏輯真(.T.),否則為邏輯假(.F.)。472.設(shè)置字符的排序次序
當(dāng)比較兩個(gè)字符串時(shí),系統(tǒng)對兩個(gè)字符串的字符自左向右逐個(gè)進(jìn)行比較,一旦發(fā)現(xiàn)兩個(gè)對應(yīng)字符不同,就根據(jù)這兩個(gè)字符的排序序列決定兩個(gè)字符串的大小。設(shè)置字符比較次序的命令是:SETCOLLATETO"排序次序名"
排序次序名必須放在引號當(dāng)中。次序名可以是:Machine(機(jī)器)次序PinYin(拼音)次序Stroke(筆畫)次序.
系統(tǒng)當(dāng)前的排序次序查看:
命令方式:?SET('COLLATE')
菜單方式:工具選項(xiàng)“數(shù)據(jù)”選項(xiàng)卡排序序列(在其中,可對“排序序列”進(jìn)行設(shè)置)48總73頁第49頁雙等號運(yùn)算符==比較兩個(gè)字符串時(shí),只有當(dāng)兩個(gè)字符串完全相同(包括空格以及各字符的位置)時(shí),運(yùn)算結(jié)果才會是邏輯真.T.,否則為邏輯假.F.。單等號運(yùn)算符=比較兩個(gè)字符串時(shí),運(yùn)算結(jié)果與SETEXACTON/OFF設(shè)置有關(guān)。3.字符串精確比較與EXACT設(shè)置49總73頁第50頁邏輯表達(dá)式
邏輯表達(dá)式由邏輯運(yùn)算符將邏輯型數(shù)據(jù)連接起來而形成,其運(yùn)算結(jié)果仍然是邏輯型數(shù)據(jù)。邏輯運(yùn)算符:.NOT.或!(邏輯非).AND.(邏輯與).OR.(邏輯或)。(運(yùn)算符前后的點(diǎn)可省略。)運(yùn)算規(guī)則:非:真變假,假變真與:同真為真,有假為假或:有真為真,同假為假優(yōu)先級順序依次為NOT、AND、OR。50運(yùn)算符及表達(dá)式的運(yùn)算順序: 表達(dá)式由運(yùn)算符號及運(yùn)算對象組成,運(yùn)算符兩邊的類型必須一致,運(yùn)算順序按運(yùn)算符的優(yōu)先級進(jìn)行(括號優(yōu)先級最高)。 算術(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頁第52頁思考下列表達(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頁第53頁3.3常用函數(shù)
函數(shù)是數(shù)據(jù)運(yùn)算的一種特殊形式,用于實(shí)現(xiàn)某些特定運(yùn)算。函數(shù)的基本形式如下: 函數(shù)名([<參數(shù)表>])說明:(1)函數(shù)名后面是一對圓括號,圓括號內(nèi)可以有參數(shù),也可以沒有參數(shù)。(2)參數(shù)是函數(shù)的自變量,可以是常量,也可以是變量,但參數(shù)的數(shù)據(jù)類型是固定的。(3)函數(shù)運(yùn)算后會返回一個(gè)值,稱為函數(shù)值。53總73頁第54頁一、數(shù)值函數(shù)數(shù)值函數(shù)是指函數(shù)值為數(shù)值的一類函數(shù),它們的自變量和返回值往往都是數(shù)值型數(shù)據(jù)。1.絕對值和符號函數(shù)格式:
ABS(<數(shù)值表達(dá)式>)
SIGN(<數(shù)值表達(dá)式>)功能:
ABS()返回?cái)?shù)值表達(dá)式的絕對值。
SIGN()返回?cái)?shù)值表達(dá)式的符號。當(dāng)表達(dá)式的運(yùn)算結(jié)果為正、負(fù)和零時(shí),函數(shù)值分別為1、-1和0。54總73頁第55頁2.求平方根函數(shù)
格式:SQRT(<數(shù)值表達(dá)式>)
功能:返回表達(dá)式的平方根。
注意:自變量表達(dá)式的值不能為負(fù)。3.圓周率函數(shù)
格式:PI()
功能:返回圓周率π(數(shù)值型),該函數(shù)沒有自變量。55總73頁第56頁格式: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ù)。說明:余數(shù)的符號與除數(shù)相同。如果兩數(shù)符號相同,函數(shù)值為兩數(shù)相除的余數(shù);如果兩數(shù)異號,則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。57總73頁第58頁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頁第59頁二、字符函數(shù)
字符函數(shù)是指自變量一般是字符型數(shù)據(jù)的函數(shù)。1.求字符串長度函數(shù)格式:LEN(<字符表達(dá)式>)
功能:返回指定字符表達(dá)式值的長度。函數(shù)值為數(shù)值型。59總73頁第60頁2.大小寫轉(zhuǎn)換函數(shù)格式:LOWER(<字符表達(dá)式>)UPPER(<字符表達(dá)式>)功能:LOWER()大寫字母轉(zhuǎn)換成小寫字母,其他字符不變。UPPER()小寫字母轉(zhuǎn)換成大寫字母,其他字符不變。60總73頁第61頁3.空格字符串生成函數(shù)格式:SPACE(<數(shù)值表達(dá)式>)功能:返回由指定數(shù)目的空格組成的字符串。4.刪除前后空格函數(shù)格式:TRIM(<字符表達(dá)式>)
LTRIM(<字符表達(dá)式>)
ALLTRIM(<字符表達(dá)式>)功能:TRIM()去掉尾部空格。
LTRIM()去掉首部空格。
ALLTRIM()去掉首部和尾部空格。61總73頁第62頁5.取子串函數(shù)格式:LEFT(<字符表達(dá)式>,<長度>)RIGHT(<字符表達(dá)式>,<長度>)SUBSTR(<字符表達(dá)式>,起始位置)[,<長度>])功能:LEFT()從指定表達(dá)式值的左端取一個(gè)指定長度的子串作為函數(shù)值。
RIGHT()從指定表達(dá)式值的右端取一個(gè)指定長度的子串作為函數(shù)值。
SUBSTR()從指定表達(dá)式值的指定起始位置取指定長度的子串作為函數(shù)。
在SUBSTR()函數(shù)中,若缺省第三個(gè)自變量<長度>,則函數(shù)從指定位置一直取到最后一個(gè)字符。62總73頁第63頁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>,<起始位置>,<長度>,<字符表達(dá)式2>)功能:用<字符表達(dá)式2>值替換<字符表達(dá)式1>中由<起始位置>和<長度>指明的一個(gè)子串。63總73頁第64頁
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頁第65頁三、日期和時(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頁第66頁
2.求年份、月份和天數(shù)函數(shù)格式:YEAR(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)MONTH(<日期表達(dá)式>|<日期時(shí)間表達(dá)式>)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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2 我們的班規(guī)我們訂教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治四年級上冊統(tǒng)編版
- 房產(chǎn)贈(zèng)送合同范本
- 簽英文合同范本
- 3古詩詞誦讀《春夜喜雨》教學(xué)設(shè)計(jì)2023-2024學(xué)年統(tǒng)編版語文六年級下冊
- 借款合同范本 拆借
- 2024-2025學(xué)年人教版九年級歷史下冊同步教學(xué)設(shè)計(jì)第五單元《二戰(zhàn)后的世界變化》
- 入股股東合同范本
- 7健康看電視 (教學(xué)設(shè)計(jì))-2024-2025學(xué)年四年級上冊道德與法治統(tǒng)編版
- 4 古詩三首《贈(zèng)劉景文》(教學(xué)設(shè)計(jì))2024-2025學(xué)年統(tǒng)編版語文三年級上冊
- 2024年九年級中考數(shù)學(xué)沖刺:圓的切線與計(jì)算教學(xué)教學(xué)設(shè)計(jì)
- 2025-2025學(xué)年牛津譯林英語七年級下冊(7B)教學(xué)計(jì)劃
- 中建抹灰工程專項(xiàng)施工方案
- 地方融資平臺債務(wù)和政府中長期支出事項(xiàng)監(jiān)測平臺操作手冊-單位
- 心得體會 2025教師暑假政治學(xué)習(xí)心得體會
- 2020高職院校教學(xué)能力比賽大學(xué)語文課程實(shí)施報(bào)告(定)
- 洗刷書包(課件)三年級上冊勞動(dòng)
- 智慧能源島解決方案
- 做最好的教師讀書分享
- 高考數(shù)學(xué)導(dǎo)數(shù)知識題型全歸納專題11導(dǎo)數(shù)壓軸題之隱零點(diǎn)問題(原卷版+解析)
- 【課件】2024高考英語新課標(biāo)讀后續(xù)寫說題課件
- 2024年中國油缸用導(dǎo)向環(huán)市場調(diào)查研究報(bào)告
評論
0/150
提交評論