柔情似水 发表于 2015-1-16 22:19:52

MYSQL网页编程之ACCESS表达式天生器

能够以较低的成本向客户提供IT所有权,当节约成本成为客户最高优先级时,解决方案提供商可以向更多的客户同时提供服务。虽然有许多来自RDBMS固有的局限性。“+”、“-”、“*”、“/”这几个标记就代表数学运算中的“加”、“减”、“乘”、“除”四种运算标记。利用“&”标记可使两个表达式强迫毗连在一同,好比:"数据库"&"利用指南"将前往:"数据库利用指南",也就是将这两个字符串联接在一同,左面的字符串在后面,左面的字符串在前面。以下图所示。
“=”、“>”、“<”、“”这四个标记分离暗示“即是”、“年夜于”、“小于”、“不即是”,它们都是用来判别某个前提是不是为满意,比方:“=34”暗示当某个值即是34时才算满意这个前提。“"北京"”暗示当某个值不即是字符串“北京”时才算满意了前提。
“And”、“Or”、“Not”这三个逻辑运算符是用来毗连下面的这些前提表达式的。好比:“>100And<300”就暗示只要某个值年夜于100而且小于300时原能算前提满意;“>100Or<300”则暗示这个值要年夜于100大概小于300,实践上就是任何数都满意这个前提;“Not>100”这个表达式则暗示只需这个值不年夜于100,这个前提就算满意了。
另有一个“Like”,这个标记又怎样用呢?这个标记经常用在对一个字符型的值举行逻辑判别,是不是这个值满意某种格局范例。以是一般“Like”其实不独自利用,经常还要跟一些其余标记:“?”暗示任何单一字符;“*”暗示零个或多个字符;“#”暗示任何一个数字;“[字符列表]”暗示字符列表中的任何单一字符;“[!字符列表]”暗示不在字符列表中的任何单一字符。我们一同看几个例子,Like"中国?"则字符串“中国人”、“中国字”都满意这个前提;Like"中国*"则字符串“中国”、“中国人”、“中国国民银行”这些都满意这个前提;Like"表#"则字符串“表1”、“表2”都满意这个前提;Like"[北京,上海,广州]"则只要字符串“北京”、“上海”、“广州”能够满意前提;Like"[!北京,上海,广州]"则只要字符串“北京”、“上海”、“广州”不克不及满意前提。
Asc(字符串表达式)
代表字符串中首字母的字符代码,前往一个Integer,。可是这个字符串表达式不克不及没有,否则会堕落。
比方:Asc("A")前往65Asc("a")前往97Asc("Apple")前往65。
Chr(字符码)
利用Chr函数来前往指定所代表的字符。0到31之间的数字与尺度的非打印ASCII代码不异。字符码的一般局限为0&ndash;255。ChrB函数感化于包括在String中的字节数据。ChrB老是前往一个单字节,而不是前往一个字符,一个字符多是一个或两个字节。ChrW函数前往包括Unicode的String,若在不撑持Unicode的平台上,则其功效与Chr函数不异。
例子:Chr(65)前往AChr(97)前往a。
DAvg(数值数据字段,表或查询)
可用于盘算特定纪录会合(一个域)一组数的均匀值;
比方:DAvg(产物单价,产物信息表)前往“产物信息表”中的“产物单价”的均匀值。
DCount(数值数据字段,表或查询)
可用于断定特定纪录会合的纪录数(一个域);
比方:DCount(产物单价,产物信息表)前往“产物信息表”中的“产物单价”中的纪录数。
DLookup(数值数据字段,表或查询)
用于从指定纪录集(一个域)猎取特定字段的值;
比方:DLookup(产物单价,产物信息表)前往“产物信息表”中的“产物单价”中的值。
DMin(数值数据字段,表或查询);DMax(数值数据字段,表或查询);
DMin和DMax函数用于断定指定纪录集(一个域)中的最小值和最年夜值;
比方:DMin(产物单价,产物信息表)前往“产物信息表”中的“产物单价”中的最小值。
DSum(数值数据字段,表或查询)
用于盘算指定纪录集(一个域)中的一组值的总和;
比方:DMin(产物单价,产物信息表)前往“产物信息表”中的“产物单价”中的和。
DVar(数值数据字段,表或查询)DVarP(数值数据字段,表或查询)
用于预算特定纪录集(一个域)中一组值的方差,DVarp用于盘算整体的方差,而DVar函数用于盘算整体抽样的方差;假如援用的纪录少于两条,DVar和DVarP函数将前往Null,暗示不克不及盘算方差。
数值数据字段
能够是用来标识表或查询中字段的字符串表达式,也能够是实行在域算计函数上钩算字段的表达式。在expr中可使用表中字段的称号、窗体上的控件、常量或函数。函数能够是内置的,也能够是用户自界说的,但不克不及是另外一个域算计函数或SQL算计函数。表或查询:用来标识构成域的纪录集的字符串表达式。
DDB(cost,salvage,life,period[,factor])
指定一笔资产在一特按期间内的折旧,可以使用双下跌光复均衡办法或别的指定的办法举行盘算。cost需要。Double指定资产的初始本钱。salvage需要。Double.指定利用年限停止时的资产代价。life需要。Double指定资产可用的可用年限。period需要。Double指定盘算资产折旧所用的那一时代。factor可选。Variant指定光复均衡下跌时的速率。假如省略的话,缺省值为2(双下跌办法)。
FV(rate,nper,pmt[,pv[,type]])
前往一个Double,指定将来的按期定额付出且利率流动的年金。
rate需要。Double,指定每期的利率。比方,假如有一笔存款年百分率(APR)为百分之十且按月付款的汽车存款,则利率为0.1/12或0.0083。
nper需要。Integer,指定一笔年金的付款总刻日。比方,假如对一笔为期四年的汽车存款选择按月付款体例,则存款刻日共有4*12(或48)个付款期。
pmt需要。Double指定每期的付款金额。付款金额一般包括本金和利钱,并且此付款金额在年金的无效时代是不会改动的。
pv可选。Variant,指定将来一系列付款(或一次付清款子)的现值。比方,当乞贷买一辆汽车时,向贷方所借的金额为将来每个月付款给贷方的现值。假如省略的话,缺省值为0。type可选。Variant,指定存款到期工夫。假如存款在存款周期停止时到期,请利用0。假如存款在周期入手下手时到期,请利用1。假如省略的话,缺省值为0。
申明:年金是一段工夫内一系列流动现金付出。年金能够是存款(如衡宇典质存款),也能够是一笔投资(如按月储备企图)。在付出时代,必需用不异的单元来盘算rate和nper参数。
比方,假如rate用月份来盘算,则nper也必需用月份来盘算。对一切参数,用正数暗示现金付出(如储备存款),而用负数暗示现金支出(如盈余支票)。
IPmt(rate,per,nper,pv[,fv[,type]])
前往一个Double,指定在一段工夫内对按期定额付出且利率流动的年金所付出的利钱值。
rate需要。Double指定每期的利率。比方,假如有一笔存款年百分率(APR)为百分之十且按月付款的汽车存款,则每期的利率为0.1/12,或0.0083。
per需要。Double指定在nper间局限1中的付款周期。
nper需要。Double指定一笔年金的付款总期数。比方,假如在一笔为期四年的汽车存款当选择按月付款体例,则存款共有4*12(或48)个付款期。
pv需要。Double,指定将来一系列付款或收款的现值。比方,当乞贷买汽车时,向贷方所借金额为未来每个月偿付给贷方款子的现值。
fv可选。Variant指定在付清存款后所但愿的将来值或现金滚存。比方,存款的将来值在存款付清后为0美圆。可是,假如想要在18年间存下50,000美圆作为后代教导基金,那末50,000美圆为将来值。假如省略的话,缺省值为0。
type可选。Variant指定存款到期工夫。假如存款在存款周期停止时到期,请利用0。假如存款在周期入手下手时到期,请利用1。假如省略的话,缺省值为0。
申明:年金是指在一段工夫内的一系列流动现金付出。年金能够是存款(如衡宇典质存款),也能够是一笔投资(如按月储备企图)。在付出时代必需用不异的单元盘算rate和nper参数。比方,假如rate用月份盘算,则nper也必需用月份盘算。对一切参数,用正数暗示现金付出(如储备存款),而用负数暗示现金支出(如盈余支票)。
IRR(values()[,guess])
前往一个Double,指定一系列周期性现金流(付出或支出)的外部利率。
values()需要。Double数组,指定现金流值。此数组必需最少含有一个负值(付出)和一个正值(支出)。
Guess可选。Variant,指定IRR前往的预算值。假如省略,guess为0.1(10%)。
申明:前往的外部利率是在一般的工夫距离内,一笔含有付出及支出的投资失掉的利率。IRR函数利用数组中数值的按次来注释付出和支出的按次。要确保付出和支出的按次准确,每时代的现金流不用像年金那样流动稳定。IRR是使用叠代举行盘算。先从guess的值入手下手,IRR重复轮回举行盘算,直到准确度到达0.00001%。假如经由20次重复叠代测试还不克不及失掉了局,则IRR盘算失利。
MIRR(values(),finance_rate,reinvest_rate)
前往一个Double,指定一系列修正过的周期性现金流(付出或支出)的外部利率。
values()需要。Double数组,指定现金流值。此数组最少要包括一个负值(付出)和一个正值(支出)。
finance_rate需要。Double指定财政本钱上的付出利率。
reinvest_rate需要。Double指定由现金再投资所得利率。
申明:修正过的前往外部利率是指在用分歧的利率盘算付出和支出时的外部利率。MIRR函数既思索投资本钱(finance_rate),也思索现金再投资所得利率(reinvest_rate)。finance_rate和reinvest_rate参数是用十进制数值暗示的百分比。比方,0.12暗示百分之十二。MIRR函数用数组中的数值按次来注释付出和支出的按次。要确保付出和支出的输出按次准确。
NPer(rate,pmt,pv[,fv[,type]])
前往一个Double,指定按期定额付出且利率流动的总期数。
rate需要。Double指定每期的利率。比方,假如有一笔存款年百分率(APR)为百分之十并按月付款的汽车存款,则每期的利率为0.1/12或0.0083。
pmt需要。Double指定每期所付金额。付款金额一般包括本金和利钱,且付款金额在年金的无效时代稳定。
pv需要。Double指定将来一系列付款或收款的现值。比方,当存款买一辆汽车时,向贷方所假贷的金额为未来每个月偿付给贷方款子的现值。
fv可选。Variant指定在付清存款后所但愿的将来值或现金滚存。比方,存款的将来值在存款付清后为0美圆。可是,假如想要在18年间存下50,000美圆作为后代教导基金,那末50,000美圆为将来值。假如省略的话,缺省值为0。
type可选。Variant指定存款到期工夫。假如存款是在存款周期停止时到期,请利用0,假如存款是在周期入手下手时到期,请利用1。假如省略的话,缺省值为0。
申明年金是在一段工夫内一系列流动现金付出。年金能够是存款(如衡宇典质存款),也能够是一笔投资(如按月储备企图)。对一切参数,用正数暗示现金付出(如储备存款),而用负数暗示现金支出(如盈余支票)。
NPV(rate,values())
前往一个Double,指定依据一系列按期的现金流(付出和支出)和贴现率而定的投资净现值。
rate需要。Double指定在一时代内的贴现率,用十进制暗示。
values()需要。Double数组指定现金流值。此数组最少要包括一个负值(付出)和一个正值(支出)。
申明:资的净现值是将来一系列付出或支出确当前代价。NPV函数利用数组中数值的按次来注释付出和支出的按次。要确保付出和支出值是用准确的按次输出的。NPV投资在第一笔现金流值之前入手下手盘算周期,而停止于数组中最初的现金流值。净现值是依据将来的现金流举行盘算的。假如第一笔现金流在第一期入手下手时产生,那末NPV前往的值必需加上第一笔值才是净现值。并且values()数组不成包括第一笔值。NPV函数与PV函数(现值)类似,只是PV函数在一个时代的入手下手或停止时才同意有现金流。与可变的NPV现金流值分歧,PV的现金流在全部投资时代必需流动。
Pmt(rate,nper,pv[,fv[,type]])
前往一个Double,指定依据按期定额付出且利率流动的年金付出额。
rate需要。Double指定每期的利率。比方,假如有一笔存款年百分比率(APR)为百分之十且按月付款的汽车存款,则每期的利率为0.1/12或0.0083。
nper需要。Integer指定一笔年金的付款总期数。比方,假如对一笔为期四年的汽车存款选择按月付款,则存款共有4*12(或48)个付款期。
pv需要。Double指定将来一系列付款或收款的现值。比方,当存款买一辆汽车时,向贷方所假贷的金额为未来每个月偿付给贷方款子的现值。
fv可选。Variant指定在付清存款后所但愿的将来值或现金滚存。比方,存款的将来值在存款付清后为0美圆。可是,假如想要在18年间存下50,000美圆作为后代教导基金,那末50,000美圆为将来值。假如省略的话,缺省值为0。
type可选。Variant,指定存款到期工夫。假如存款是在存款周期停止时到期,请利用0。假如存款是在周期入手下手时到期,则请利用1。假如省略的话,缺省值为0。
申明:年金是在一段工夫内一系列流动现金付出,年金能够是存款(如衡宇典质存款),也能够是一笔投资(如按月储备企图)。在付出时代必需用不异的单元盘算rate和nper参数。
比方,假如rate用月份盘算,则nper也必需用月份盘算。对一切参数,用正数暗示现金付出(如储备存款),而用负数暗示现金支出(如盈余支票)。
PPmt(rate,per,nper,pv[,fv[,type]])
rate需要。Double指定每期的利率。比方,假如有一笔存款年百分比率(APR)为百分之十且按月付款的汽车存款,则每期的利率为0.1/12或0.0083。
per需要。Integer指定在nper间局限1中的付款周期。
nper需要。Integer指定一笔年金的付款总期数。比方,假如对一笔为期四年的汽车存款选择按月付款,则存款共有4*12(或48)个付款期。
pv需要。Double指定将来一系列付款或收款的现值。比方,当存款买一辆汽车时,向贷方所假贷的金额为未来每个月偿付给贷方款子的现值。
fv可选。Variant指定在付清存款后所但愿的将来值或现金滚存值。比方,存款的将来值在存款付清后为0美圆。可是,假如想要在18年间存下50,000美圆作为后代教导基金,那末50,000美圆为将来值。假如省略的话,缺省值为0。
type可选。Variant指定存款到期工夫。假如存款是在存款周期停止时到期,则请利用0。假如存款是在周期入手下手时到期,则请利用1。假如省略的话,缺省值为0。
申明:金是在一段工夫内一系列流动现金付出。年金能够是存款(如衡宇典质存款),也能够是一笔投资(如按月储备企图)。在付出时代必需用不异的单元盘算rate和nper参数。
比方,假如rate用月份盘算,则nper也必需用月份盘算。对一切参数,用正数暗示现金付出(如储备存款),而用负数暗示现金支出(如盈余支票)。
PV(rate,nper,pmt[,fv[,type]])
前往一个Double指定在将来按期、定额付出且利率流动的年金现值。
rate需要。Double指定每期的利率。比方,假如有一笔存款年百分比率(APR)为百分之十且按月付款的汽车存款,则每期的利率为0.1/12或0.0083。
nper需要。Integer指定一笔年金的付款总期数。比方,假如对一笔为期四年的汽车存款选择按月付款,则存款共有4*12(或48)个付款期。
pmt需要。Double指定每期的付款金额。付款金额一般包括本金和利钱,且此付款金额在年金的无效时代稳定。
fv可选。Variant,指定在付清存款后所但愿的将来值或现金滚存。比方,存款的将来值在存款付清后为0美圆。可是,假如想要在18年间存下50,000美圆作为后代教导基金,那末50,000美圆为将来值。假如省略的话,缺省值为0。
type可选。Variant指定存款到期工夫。假如存款是在存款周期停止时到期,则请利用0。假如存款是在周期入手下手时到期,则请利用1。假如省略的话,缺省值为0。
申明:年金是在一段工夫内一系列流动现金付出。年金能够是存款(如衡宇典质存款),也能够是一笔投资(如按月储备企图)。在付出时代必需用不异的单元盘算rate和nper参数。比方,假如rate用月份盘算,则nper也必需用月份盘算。对一切参数,现金付出(如储备存款)用正数暗示,而现金支出(如盈余支票)用负数暗示。
Rate(nper,pmt,pv[,fv[,type[,guess]]])
前往一个Double,指定每期的年金利率。
nper需要。Double指定一笔年金的付款总期数。比方,假如对一笔为期四年的汽车存款选择按月付款,则存款共有4*12(或48)个付款期。
pmt需要。Double,指定每期的付款金额。付款金额一般包括本金和利钱,且此付款金额在年金的无效时代稳定。
pv需要。Double指定将来一系列付款或收款的现值。比方,当存款买一辆汽车时,向贷方所假贷的金额为未来每个月偿付给贷方款子的现值。
fv可选。Variant指定在付清存款后所但愿的将来值或现金滚存。比方,存款的将来值在存款付清后为0美圆。可是,假如想要在18年间存下50,000美圆作为后代教导基金,那末50,000美圆为将来值。假如省略的话,缺省值为0。
type可选。Variant,指定存款到期工夫,假如存款是在存款周期停止时到期,则请利用0。假如存款是在周期入手下手时到期,则请利用1。假如省略的话,缺省值为0。
guess可选。Variant指定Rate前往的预算值。假如省略,则guess为0.1(10%)。
申明:年金是在一段工夫内的一系列流动现金付出,年金能够是存款(如衡宇典质存款)或是一笔投资(如按月储备企图)。对一切参数,现金付出(如储备存款)用正数暗示,而现金支出(如盈余支票)用负数暗示。Rate是叠代盘算的。先从guess的值入手下手,Rate重复轮回盘算,直到准确度到达0.00001%。假如经由20次叠代测试还不克不及失掉了局,则Rate盘算失利。假如推测是10%而Rate盘算失利,则请试用分歧的guess.值。
以下为援用的内容:
SLN(cost,salvage,life)
  前往一个Double,在一期里指定一项资产的直线折旧。
  cost需要。Double指定资产的初始本钱。
  salvage需要。Double指定资产在可用年限停止后的代价。
  life需要。Double指定资产的可用年限。
    申明:折旧时代必需用与life参数不异的单元暗示。一切参数都必需是负数。
SYD(cost,salvage,life,period)
  前往一个Double,指定某项资产在一指按期间用年纪总计法盘算的折旧。
  cost需要。Double指定资产的初始本钱。
  salvage需要。Double指定资产在可用年限停止后的代价。
  life需要。Double指定资产的可用年限。
  period需要。Double指定盘算资产折旧所用的那一时代。

申明:必需用不异的单元暗示life和period参数。比方,假如life用月份暗示,则period也必需用月份暗示。一切参数都必需是负数。

使用它开发程序也是非常简单的。”

再现理想 发表于 2015-1-19 08:53:19

总感觉自己还是不会SQL

乐观 发表于 2015-1-28 05:54:53

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

蒙在股里 发表于 2015-2-5 18:03:06

语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!

admin 发表于 2015-2-13 05:17:06

但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)

再见西城 发表于 2015-3-11 12:01:24

大家注意一点。如下面的例子:

爱飞 发表于 2015-3-18 15:48:44

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

若相依 发表于 2015-3-26 11:55:22

不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理?
页: [1]
查看完整版本: MYSQL网页编程之ACCESS表达式天生器