第三章 數(shù)據(jù)與數(shù)據(jù)運(yùn)算
1、字段數(shù)據(jù)類型(11種)
* N包括Y,F(xiàn),B,I
2、變量:在程序運(yùn)行過程中,其值可能發(fā)生變化的量。
3、變量的分類:字段變量,內(nèi)存變量,數(shù)組變量,系統(tǒng)變量,對(duì)象變量。
4、常用的函數(shù)
、、數(shù)值型函數(shù)
1.絕對(duì)值函數(shù)
【函數(shù)格式】 ?abs(<數(shù)值表達(dá)式> )
【函數(shù)功能】 返回指定“數(shù)值表達(dá)式”的絕對(duì)值
【返回值類型】 數(shù)值型
eg:?abs(-1) 1
2.平方根函數(shù)
【函數(shù)格式】 ?sqrt(<數(shù)值表達(dá)式>)
【函數(shù)功能】 返回指定“數(shù)值表達(dá)式”值的平方根!皵(shù)值表達(dá)式”的值必須是大于或等于零
【返回值類型】 數(shù)值型
eg:?sqrt(25) 5
?sqrt(81) 9
?sqrt(7^2-4*2*4) 4.12
3.取整函數(shù)
【函數(shù)格式】 ?int(<數(shù)值表達(dá)式>)
【函數(shù)功能】 返回指定“數(shù)值表達(dá)式”整數(shù)部分的值
【返回值類型】 數(shù)值型
eg:?int(6489.658) 6489
?int(123.58) 123
4.四舍五入函數(shù)
【函數(shù)格式】 ?round(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)
【函數(shù)功能】 對(duì)指定的<數(shù)值表達(dá)式1>進(jìn)行四舍五入運(yùn)算
【使用說明】 <數(shù)值表達(dá)式2>指定四舍五入運(yùn)算精確的位數(shù)。如果“數(shù)值表達(dá)式2”是正整數(shù),它指定保留的小數(shù)位數(shù);如果“數(shù)值表達(dá)式2”是0,它指定精確到個(gè)位;如果“數(shù)值表達(dá)式2”是負(fù)整數(shù),它指定精確的整數(shù)位數(shù)
【返回值類型】 數(shù)值型
eg:?round(678.657,0) 679
?round(678.657,3) 678.657
?round(678.657,-1) 680
5.求余函數(shù)
【函數(shù)格式】 ?mod(<數(shù)值表達(dá)式1>, <數(shù)值表達(dá)式2>)
【函數(shù)功能】 求<數(shù)值表達(dá)式1>除以<數(shù)值表達(dá)式2>后的模
【使用說明】 若兩參數(shù)的值大于0,則模為余數(shù);若兩參數(shù)一正一負(fù),則模為余數(shù)與“數(shù)值表達(dá)式2”之和;若兩參數(shù)均為負(fù),則模為余數(shù)取反。遵循的原則:一、模的符號(hào)與表達(dá)式2的相同;二、余數(shù)的絕對(duì)值小于除數(shù)(<表達(dá)式2>)的絕對(duì)值
【返回值類型】 數(shù)值型
eg:?mod(100,3) 1
?mod(100,-3) -2
?mod(15,8) 7
?mod(8,15) 8
6. e次方函數(shù)
【函數(shù)格式】 ?exp(<數(shù)值表達(dá)式>)
【函數(shù)功能】 返回ex的值(x為<數(shù)值表達(dá)式>)
【返回值類型】 數(shù)值型
eg:?exp(1) 2.72
7.最大值函數(shù)
【函數(shù)格式】 ?max(<表達(dá)式1>, <表達(dá)式2>…)
【函數(shù)功能】 返回各個(gè)表達(dá)式中的最大值。其中各個(gè)表達(dá)式的數(shù)據(jù)類型相同
【返回值類型】 字符型、數(shù)值型、日期型,由表達(dá)式?jīng)Q定
eg:?max(12,5,8,36) 36
?max(”a”,”b”,”d”,”e”,”y”) y
8.最小值函數(shù)
【函數(shù)格式】 ?min(<表達(dá)式1>, <表達(dá)式2>…)
【函數(shù)功能】 返回各個(gè)表達(dá)式中的最小值。其中各個(gè)表達(dá)式的數(shù)據(jù)類型相同
【返回值類型】 字符型、數(shù)值型、日期型,由表達(dá)式?jīng)Q定
eg:?min(12,5,8,36) 5
?min(”a”,”b”,”d”,”e”,”y”) a
9.對(duì)數(shù)函數(shù)
【函數(shù)格式】 ?log(<數(shù)值表達(dá)式>)
【函數(shù)功能】 返回以e為底的自然對(duì)數(shù)值
【返回值類型】 數(shù)值型
eg:?log(2.72) 1
10. 圓周率函數(shù)
【函數(shù)格式】 ?pi(<表達(dá)式>)
【函數(shù)功能】 求表達(dá)式的圓周率
【返回值類型】 數(shù)值型
eg:?pi( ) 3.14
、凇⒆址秃瘮(shù)
11.字符串長(zhǎng)度測(cè)試函數(shù)
【函數(shù)格式】 ?len(<字符表達(dá)式>)
【函數(shù)功能】 返回字符型表達(dá)式的長(zhǎng)度(字節(jié)數(shù))
【返回值類型】 數(shù)值型
eg:?len(”df”) 2
?len(”dfjj”) 4
12.小寫字母轉(zhuǎn)換大寫函數(shù)
【函數(shù)格式】 ?upper(<字符表達(dá)式>)
【函數(shù)功能】 把字符表達(dá)式中的小寫字母轉(zhuǎn)換為大寫字母
【返回值類型】 字符型
eg:?upper(”good”) GOOD
?upper(”school”) SCHOOL
13. 大寫字母轉(zhuǎn)換小寫函數(shù)
【函數(shù)格式】 ?lower(<字符表達(dá)式>)
【函數(shù)功能】 把字符表達(dá)式中的大寫字母轉(zhuǎn)換為小寫字母
【返回值類型】 字符型
eg:?lower(“GOOD”) good
?lower(”SCHOOL”) school
14.生成空格字符串函數(shù)
【函數(shù)格式】 ?space(<數(shù)字>)
【函數(shù)功能】 返回一個(gè)全是空格的字符串,空格數(shù)由<數(shù)字>決定
【返回值類型】 字符型
eg:?space(5)+”kk” □□□□□kk
?space(3) □□□
15.刪除尾空格函數(shù)
【函數(shù)格式】 ?rtrim(<字符表達(dá)式>)或?trim(<字符表達(dá)式>)
【函數(shù)功能】 刪除指定字符串右邊的尾隨空格
【返回值類型】 字符型
eg:?trim(”□ab□a□□□”) □ab□a
16.刪除前空格函數(shù)
【函數(shù)格式】 ?ltrim(<字符表達(dá)式>)
【函數(shù)功能】 刪除指定字符串左邊的空格
【返回值類型】 字符型
eg:?ltrim(”□□□ab□□ax□x□□□”) ab□□ax□x□□□
17.刪除所有空格函數(shù)
【函數(shù)格式】 ?alltrim(<字符表達(dá)式>)
【函數(shù)功能】 刪除指定字符串左右兩邊的空格
【返回值類型】 字符型
eg:?alltrim(” □□□abc□□□”)+”def” abcdef
18.子字符串函數(shù)
【函數(shù)格式】 ?substr(<字符表達(dá)式>,<起始位置>,<字符個(gè)數(shù)>)
【函數(shù)功能】 從指定的字符串中截取字符,形成一個(gè)新的字符串
【使用說明】 <起始位置>是數(shù)值型表達(dá)式,它指定從第幾個(gè)字符開始截取,[<字符個(gè)數(shù)>]也是數(shù)值型表達(dá)式,它指定連續(xù)截取字符的個(gè)數(shù)。如果省略“字符個(gè)數(shù)”,則截取到最后一個(gè)字符為止。
【返回值類型】 字符型
eg:?substr(”abcdef”,2,3) bcd
?substr(”abcdef”,2) bcdef
19.左子串函數(shù)
【函數(shù)格式】 ?left(<字符表達(dá)式>),<字符個(gè)數(shù)>)
【函數(shù)功能】 從指定是字符串左邊第一個(gè)字符開始截取字符,形成一個(gè)新的字符串
【使用說明】 <字符個(gè)數(shù)>是數(shù)值型表達(dá)式,它指定連續(xù)截取字符的個(gè)數(shù)
【返回值類型】 字符型
eg:?left(”abcde”,2) ab
?left(”abcdefg”,4) abcd
20. 右子串函數(shù)
【函數(shù)格式】 ??right(<字符表達(dá)式>),<字符個(gè)數(shù)>)
【函數(shù)功能】 從指定是字符串右邊第一個(gè)字符開始截取字符,形成一個(gè)新的字符串
【返回值類型】 <字符個(gè)數(shù)>是數(shù)值型表達(dá)式,它指定連續(xù)截取字符的個(gè)數(shù)
字符型
eg:?right(”abcde”,2) de
?right(”abcdefg”,4) defg
21.字符串1在字符串2出現(xiàn)的次數(shù)
【函數(shù)格式】 ?occurs(<字符表達(dá)式1>,<字符表達(dá)式2>)
【函數(shù)功能】 返回字符表達(dá)式1在字符表達(dá)式2中出現(xiàn)的次數(shù)
【返回值類型】 數(shù)值型
eg:?occurs(”A”,”ABCDABCD”) 2
?occurs(”A”,”abcdabcda”) 0
22.求位置函數(shù)
【函數(shù)格式】 ?at(<字符表達(dá)式1>,<字符表達(dá)式1>,<數(shù)值表達(dá)式>)
或?atc(<字符表達(dá)式1>,<字符表達(dá)式1>,<數(shù)值表達(dá)式>)
【函數(shù)功能】 返回<字符表達(dá)式1>在<字符表達(dá)式2>從左邊數(shù)第<數(shù)值表達(dá)式>次數(shù)出現(xiàn)的位置
【使用說明】 at區(qū)分大小寫,而atc不區(qū)分大小寫
【返回值類型】 數(shù)值型
eg:?at(”a”,”bacda”) 2
?at(”a”,”bacdaaabdea”,5) 11
?at(”A”,”abcdaaa”) 0
?atc(”A”,”BACDAAABDEa”,5) 11
23.求位置函數(shù)
【函數(shù)格式】 ?rat(<字符表達(dá)式1>,<字符表達(dá)式2>,<數(shù)值表達(dá)式>)
【函數(shù)功能】 返回<字符表達(dá)式1>在<字符表達(dá)式2>從右邊數(shù)第<數(shù)值表達(dá)式>次數(shù)出現(xiàn)的位置
【返回值類型】 數(shù)值型
eg:?rat(”a”,”bacda”) 5
?rat(”a”,”bacdaaabdea”,5) 2
?rat(”A”,”abcdaaa”) 0
24.替換函數(shù)
【函數(shù)格式】 ?stuff(<字符表達(dá)式1>,<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>,<字符表達(dá)式2>)
【函數(shù)功能】 從指定的字符串中截取字符,形成一個(gè)新的字符串
【使用說明】 截取<字符表達(dá)式1>中,從<數(shù)值表達(dá)式1>開始,<字符表達(dá)式2>替換<數(shù)值表達(dá)式2>位數(shù),形成新的字符串。
【返回值類型】 字符型
eg:?stuff(”計(jì)算機(jī)ABC”,3,4,”你好”) 計(jì)你好ABC
?stuff(”數(shù)據(jù)庫”,5,6,”管理系統(tǒng)”) 數(shù)據(jù)管理系統(tǒng)
?stuff(”計(jì)算機(jī)ABC”,5,4,”你好”) 計(jì)算你好C
25.替換函數(shù)
【函數(shù)格式】 ?chrtran(<字符表達(dá)式1>,<字符表達(dá)式2>,<字符表達(dá)式3>)
【函數(shù)功能】 用<字符表達(dá)式3>替換<字符表達(dá)式1>中與<字符表達(dá)式2>相同的字符串,并形成一個(gè)新的字符串
【返回值類型】 字符型
eg:?chrtran(”計(jì)算機(jī)ABCD”,”ABCD”,”你好”) 計(jì)算機(jī)你好
26.匹配函數(shù)
【函數(shù)格式】 ?like(<字符表達(dá)式1>,<字符表達(dá)式2>)
【函數(shù)功能】 判斷<字符表達(dá)式1>是否與<字符表達(dá)式2>完全相同
【使用說明】 若<字符表達(dá)式1>與<字符表達(dá)式2>完全相同,則顯示邏輯值為真,反之為假
【返回值類型】 邏輯型
eg:?like("abc","abc") .T.
?like("abc","aBC") .F.
?like("abc□","aBC") .F.
?like("abc□","abc") .F.
?like("abc□","abc□") .T.
、、日期與時(shí)間函數(shù)
27.日期函數(shù)
【函數(shù)格式】 ?date()
【函數(shù)功能】 返回當(dāng)前系統(tǒng)日期。返回日期的約定格式為mm/dd/yy
【返回值類型】 日期型
28.時(shí)間函數(shù)
【函數(shù)格式】 ?time()
【函數(shù)功能】 返回當(dāng)前系統(tǒng)時(shí)間。返回時(shí)間的約定格式為hh:mm:ss。其中hh表示小時(shí),mm表示分,ss表示秒。
【返回值類型】 字符型
29.日期時(shí)間函數(shù)
【函數(shù)格式】 ?datetime()
【函數(shù)功能】 返回當(dāng)前系統(tǒng)日期與時(shí)間。
【返回值類型】 字符型
30.年函數(shù)
【函數(shù)格式】 ?year(<日期表達(dá)式>)
【函數(shù)功能】 返回<日期表達(dá)式>的年的數(shù)值,返回的年用四位數(shù)字表示
【返回值類型】 數(shù)值型
eg:?year(date()) 2007 ****系統(tǒng)當(dāng)前日期為2007-07-24
31.月函數(shù)
【函數(shù)格式】 ?month(<日期表達(dá)式>)
【函數(shù)功能】 返回<日期表達(dá)式>的月的數(shù)值
【返回值類型】 數(shù)值型
eg:?month(date()) 7 ****系統(tǒng)當(dāng)前日期為2007-07-24
32.月函數(shù)
【函數(shù)格式】 ?cmonth(<日期表達(dá)式>)
【函數(shù)功能】 以英文單詞形式返回<時(shí)間表達(dá)式>中的月的數(shù)值
【返回值類型】 字符型
eg:?cmonth(date()) July ****系統(tǒng)當(dāng)前日期為2007-07-24
33.日函數(shù)
【函數(shù)格式】 ?day(<日期表達(dá)式>)
【函數(shù)功能】 返回<日期表達(dá)式>的日的數(shù)值
【返回值類型】 數(shù)值型
eg:?day(date()) 24 ****系統(tǒng)當(dāng)前日期為2007-07-24
34.星期函數(shù)
【函數(shù)格式】 ?dow(<日期表達(dá)式>)
或?cdow(<日期表達(dá)式>)
【函數(shù)功能】 返回<日期表達(dá)式>對(duì)應(yīng)的當(dāng)天星期幾
【返回值類型】 數(shù)值型 字符型
eg:?dow(date()) 3 ****系統(tǒng)當(dāng)前日期為2007-07-24
?cdow(date()) Tuesday ****系統(tǒng)當(dāng)前日期為2007-07-24
35.時(shí)函數(shù)
【函數(shù)格式】 ?hour(<時(shí)間日期表達(dá)式>)
【函數(shù)功能】 返回<時(shí)間日期表達(dá)式>的時(shí)的數(shù)值
【返回值類型】 數(shù)值型
eg:?hour(datetime()) 13 *****系統(tǒng)當(dāng)前時(shí)間為13:26:46
36.分函數(shù)
【函數(shù)格式】 ?minute(<時(shí)間日期表達(dá)式>)
【函數(shù)功能】 返回<時(shí)間日期表達(dá)式>的分的數(shù)值
【返回值類型】 數(shù)值型
eg:?minute(datetime()) 26 *****系統(tǒng)當(dāng)前時(shí)間為13:26:46
37.秒函數(shù)
【函數(shù)格式】 ?sec(<時(shí)間日期表達(dá)式>)
【函數(shù)功能】 返回<時(shí)間日期表達(dá)式>的秒的數(shù)值
【返回值類型】 數(shù)值型
eg:?sec(datetime()) 46 *****系統(tǒng)當(dāng)前時(shí)間為13:26:46
、堋⑥D(zhuǎn)換函數(shù)
38.數(shù)值轉(zhuǎn)換為字符函數(shù)
【函數(shù)格式】 ?str(<數(shù)值表達(dá)式>,[,<長(zhǎng)度>[,<小數(shù)位數(shù)>]])
【函數(shù)功能】 把<數(shù)值表達(dá)式>的值轉(zhuǎn)換為字符串
【使用說明】 ①.<數(shù)值表達(dá)式>指定被轉(zhuǎn)換的數(shù)據(jù)。<長(zhǎng)度>指定轉(zhuǎn)換后字符串的總長(zhǎng)度,長(zhǎng)度的缺省值為10。<小數(shù)位數(shù)>指定轉(zhuǎn)換后允許保留的小數(shù)位數(shù)
、.如果“長(zhǎng)度”大于<數(shù)值表達(dá)式>的字符個(gè)數(shù),在字符前面用空格補(bǔ)齊;如果“長(zhǎng)度”小于整數(shù)部分的數(shù)字長(zhǎng)度且不指定<小數(shù)位數(shù)>,輸出一串星號(hào)(*)。
、.如果不指定<小數(shù)位數(shù)>,那么只返回<數(shù)值表達(dá)式>的整數(shù)部分,若<數(shù)值表達(dá)式>有小數(shù)部分則進(jìn)行四舍五入。若指定<小數(shù)位數(shù)>,則返回指定的小數(shù)位數(shù),并按該有效位數(shù)進(jìn)行四舍五入。長(zhǎng)度的缺省值為10
【返回值類型】 字符型
eg:?str(5664) 5664
?str(5664.25) 5664
?str(1357.246,6,2) 1357.2
?str(1357.246,8,2) 1357.25
?str(1357.246) 1357
?str(1357.246,3) ***
39.字符轉(zhuǎn)換為數(shù)值函數(shù)
【函數(shù)格式】 ?val(<字符表達(dá)式>)
【函數(shù)功能】 <字符表達(dá)式>指定被轉(zhuǎn)換的字符型文字。val()函數(shù)從左到右依次轉(zhuǎn)換,遇到非數(shù)字字符就停止轉(zhuǎn)換
【返回值類型】 數(shù)值型
eg:?val(”125.587”) 125.59
?val(”246xs35”) 246.00
?val(”xs135”) 0.00
40.字符轉(zhuǎn)換為日期函數(shù)
【函數(shù)格式】 ?ctod(<字符表達(dá)式>)
【函數(shù)功能】 把字符型日期轉(zhuǎn)換為日期型數(shù)據(jù)
【使用說明】 <字符表達(dá)式>指定被轉(zhuǎn)換的字符型數(shù)據(jù)
【返回值類型】 日期型
eg:?ctod(”06/10/2007”) 06/10/07
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |