(3).日期時間函數(shù)(p73)
日期時間函數(shù)是處理日期型或日期時間型數(shù)據(jù)的函數(shù)。其自變量為日期型表達式dExp或日期時間型表達式tExp。
1).系統(tǒng)日期函數(shù)DATE( )
【格式】DATE()
【功能】返回當(dāng)前系統(tǒng)日期,此日期由系統(tǒng)設(shè)置。函數(shù)值為D型。
2).系統(tǒng)時間函數(shù)TIME( )
【格式】TIME([])
【功能】返回當(dāng)前系統(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ù),使用戶能夠準(zhǔn)確地獲取操作對象的相關(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(,,)
【功能】判斷當(dāng)表達式的值大于等于的值且小于等于的值時,函數(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).當(dāng)前記錄號函數(shù)RECNO()
【格式】RECNO([<工作區(qū)號> | <別名>])
【功能】返回指定工作區(qū)中表的當(dāng)前記錄的記錄號。對于空表返回值為1。
【例】 測試記錄指針的當(dāng)前位置。 USE 學(xué)生檔案.dbf GOTO
BOTTOM ? RECNO() && 顯示結(jié)果為:10
SKIP ? RECNO() && 顯示結(jié)果為:11 GO
TOP ? RECNO() && 顯示結(jié)果為: 1
SKIP -1 ? RECNO() && 顯示結(jié)果為: 15).表結(jié)束標(biāo)志測試函數(shù)EOF( )
【格式】EOF([<工作區(qū)號> | <別名>])
【功能】測試記錄指針是否移到表結(jié)束處。如果記錄指針指向表中尾記錄之后,函數(shù)返回真(.T.),否則為假(.F.)。
【例】測試文件記錄是否指向文件尾。USE 學(xué)生檔案.dbf
GOTO BOTTOM
? EOF() && 顯示結(jié)果為:.F.
SKIP && 移動記錄指針到下一條記錄命令
? EOF() && 顯示結(jié)果為:.T.
6).表起始標(biāo)識測試函數(shù)BOF ( )
【格式】BOF ([<工作區(qū)號> | <別名>])
【功能】測試記錄指針是否移到表起始處。如果記錄指針指向表中首記錄前面,函數(shù)返回真(.T.),否則為假(.F.)。
【例】 測試文件記錄是否指向文件頭。 USE 學(xué)生檔案.dbf ?
BOF() && 顯示結(jié)果為:.F. SKIP -1 &&
移動記錄指針到上一條記錄命令 ? BOF() &&
顯示結(jié)果為:.T.
7).記錄刪除測試函數(shù)DELETED( )
【格式】DELETED([<工作區(qū)號> | <別名>])
【功能】測試指定工作區(qū)中表的當(dāng)前記錄是否被邏輯刪除。如果當(dāng)前記有邏輯刪除標(biāo)記,函數(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
全國職稱計算機考試速成過關(guān)系列套裝:W .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 | |
全國職稱計算機考試速成過關(guān)系列套裝:W .. 定價:¥124 優(yōu)惠價:¥124.0 更多書籍 |