首页  前一页  后一页  末页
[083] [084] [085] [086] [087]
本留言簿共有493条记录, 现在时间2025-6-15 16:08:28,计算机地址:192.168.9.44
日期查询:
现在是第17页
一共有99页
Books库中表及结构信息 环境:一键安装 库表:Mysql.sql  xx3.sql xx4.sql 页面:Myphp.php   
序号 留言内容
87

D:2011-4-13
T:8:09:00
IP:188.188.2.61



作者:
张顺海
第四章 关系型数据库标准语言 SQL

一、SQL是Structure Query Languages(结构化查询语言)的缩写,它是用来对数据库进行组织、管理和检索的语言。
 1.由IBM公司设计开发的;
 2.SQL按其功能分为:
  数据定义语言(DDL)-Data Define Language
  数据操纵语言(DML)-Data Manipulate Language
  数据控制语言(DCL)-Data Control Language
 3.四大功能:
  1)数据定义功能:(创建、删除、修改)
   如:创建表、创建视图、创建索引、创建数据库
  2)数据操纵功能:(插入、删除、修改)
   如:插入记录、删除记录、修改记录
  3)数据控制功能:(授权、回收权利)
  4)数据查询功能:(select-from-where)  
二、数据查询(SQL-select)
 1.简单查询
  sele * from tushu
  sele 书名,版别 from tushu
 2.简单条件查询(筛选)
  sele * from tushu where 版别="工业机械"
  *以上的命令是将tushu表格中的‘工业机械’出版社的相关记录筛选出来

  sele * from tushu where 单价>300
  *以上的命令是将tushu表格中的‘单价’在300元以上的记录筛选出来

 3.复杂条件查询(筛选)
  .where <条件>
  .关系运算符 = 、<>、>、>=、<、<=
  .逻辑运算符 NOT AND OR
  .指定区间 between ...and....
  例如:
  where 年龄 betw 15 and 18
(N型数据的控制,要求and左边是小的,and右边是大的,不可以对D型、C型数据加以控制)

  .LIKE
  sele * from tushu where 书名 like "_国%"
  以上命令是检索出书名中第二个字为‘国’字的所有信息
  此种格式一般只对‘字符’型数据有控制作用
 
  .in()、not in()
  sele * from tushu where 总册数 in (10,15,20)
  检索出总册数为10、15、20册的图书信息
 
  .is null、is not null
  用来判断某个字段是不是为空

 4.联接查询与嵌套查询
  一般是指基于多个表的查询。
  select 查询中不公可以建立两 个表之间的关联,还可以建立多个表之间的关联。关联在这些表之间必须具有一对一或一对多的关系。
  建立的联接条件一般是选取两个表中相同字段名。
  例子:详见课本 P81页,提高。

  嵌套查询:
  嵌套查询是一个包含select子查询的selecte查询。子查询是一个返回“单个”值的select语句,它可以用在任何允许‘表达式、的地方,又称为内层查询。包含子查询的外层查询就‘外查询’。
  sele 书名,单价 from tushu where 单价>(sele avg(单价) from tushu where 版别 like '%辽海%') and 版别 not like '%辽海%'
  以上命令是:从tushu.dbf表格中检索出非‘辽海’出版社出版的图书单价高于‘辽海’出版社出版图书的平均‘单价’的图书信息,其中‘辽海’出版社的平均‘单价’就是一个返回‘单一’信息的‘子查询’。

 5.计算查询
  统计函数:count(),sum(),avg(),max(),min()
 6.排序
  orde by <排序依据>
  升序:asc(如果省略,则默认升序)
  降序:desc
  如:order by 单价 ,则结果按单价升序排列
  也可以使用 order by 2,3 ,即按照结果表格输出的第2列升序输出,第2列区分不出来的按第3列升序输出
  sele 书名,版别,单价,数量 from tushu orde by 2,3 desc
  以上命令的意思是,从tushu表格中选择出三项信息,结果按照版别升序排列,版别一致的,按数量降序排列
 7.分组
 group by <分组依据>
 group by :按项目分组,项目一致的分成一组,每一组压缩成一条记录进入结果查询窗口。
 如:group by 版别,即按版别分组,版别一致的形成一条记录,即同一个出版社的记录压缩形成一条记录,同一出版社的记录进行相应的操作
 sele 版别,count(*) from tushu group by 版别
 按版别分组,出版社一致的形成一条记录,这一组记录进行count(*),即统计每一组的记录条数。这样就得到了每个出版社的记录,即出了多少种不同的书,当然可能有重复书名的书,可以加dist,但count(*)应该为count(书名)

 having:这个条件一般常用于对group by后结果的限定(即筛选结果),没有group by 时同where,但查询速度没有where 条件快。

 8.查询结果的输出
 查询去向:
 .浏览窗口(默认) sele * from tushu
 .临时表 sele * from tushu into cursor xa
 .数据表 sele * from tushu into table xb
 .文本文件 sele * from tushu to file xc
.屏幕 sele * from tushu to screen
 .打印机 sele * from tushu to print
 .数组 sele * from tushu to array xd
 .还可以输出到报表或者标签(前4项较常用)

三、数据定义
 1.创建表  见课本 P90页
  create table <表文件名>  
 2.修改表  见课本 P93页
  alter table <表文件名> add|drop|alter
 3.删除表  见课本 P95页
  remove table xb &&将数据库表xb移除,成为自由表
  remove table xb dele &&移除同时物理删除。
  后边的这条指令相当于:drop table xb

四、数据更新
 1.记录插入(见课本 P96页)
 insert into  
 如:insert into tushu (书名,版别,单价,数量) values ("幸福来敲门","人民邮电",26.00,100)

 2.数据修改(见课本 P97页)
 update ...set ...=... where ...
 如:update tushu set 单价=单价*1.1 where 版别="工业机械"
 以上命令的意思是让‘工业机械’出版社的图书的单价‘涨价’10%。
 以上命令相当于:repl all 单价 with 单价*1.1 for 版别="工业机械"
 
 3.数据删除(见课本 P98页)
 delete from ...where ...
 如:dele from tushu where 单价=0
 以上的命令是把tushu表格中的‘单价’为零的记录加上‘删除标志’,也是逻辑删除,需要物理删除,应该再执行pack命令,但表格需要是‘独占’形式打开的。

五、如果考试中‘操作’题没有标明非得用SQL中的语句,且它也可以用VFP原有的指令,那么就用VFP原有指令。

drop table


86

D:2011-4-11
T:8:14:00
IP:192.168.8.40



作者:
张顺海
第三章 查询与视图

一、查询
 1.查询的目的:快速从一张或者多张表格中,检索出符合条件的记录。用来查看、分析、打印报表。
 2.查询功能:显示指定字段、按条件筛选记录、对结果排序、分组、生成统计字段(求和、平均、最大、最小、统计个数),并把结果建立新的表格、报表等。
 3.建立查询的命令:create query
 4.也可以用查询设计器完成,目的只有一个,建立一个(SQL-select)语句。
 5.建立查询的步骤:(查询设计器)
 .打开查询设计器,添加相关的表格,多表要建立表间联系。
 .选择查询输出的字段
 .设置查询条件
 .设置排序依据(根据需要)
 .设置分组依据(根据需要)
 .设置查询去向(默认是浏览窗口)

 .查询去向(浏览、临时表、表、屏幕、报表、标签等)
 6.保存查询:扩展名 .qpr
 7.运行查询:do 查询文件名.qpr (扩展名不得省略)
 8.查询文件和一个普通的SQL-select语句的区别:
 查询文件是以文件的形式保存,执行时可以用do 查询文件名.qpr调用,用不着每次输入命令,且不易错误。
 9.查询运行得到的结果是‘只读’的,即结果不能被编辑。

二、视图
 1.视图是可以编辑的‘查询’。即它是可‘读写’的,而且对视图的更改,按需要可影响‘数据源’里的数据。
 2.视图可以看做是定制的、虚拟的表,使用起来和普通表格没有什么区别,只是它不是物理存在的。
 3.VFP中视图分为‘本地视图’和‘远程视图’两类。
 4.本地视图,是使用当前数据库中的表建立的视图;
 5.远程视图,是使用当前数据库之外的数据源(可以是网络中的数据源)中的表格建立的视图。
 
 5.查询与视图的区别:
 .查询的数据来源于本地表或者视图。视图的数据来源于本地表、视图或者远程数据源。
 .查询的结果可存储成多种格式(查询去向),而视图的运行结果只能当作一张表使用。
 .查询文件是独立存在的文件,不属于数据库;而视图是数据库的一部分,保存在数据库中。
 .查询结果不能修改,不能影响数据源;而视图的结果修改后可以回存到数据源中去。
 6.建立视图的命令:create view 视图文件名 as
 也可以使用视图设计器来完成。
 7.视图的扩展文件名: vue
 8.使用视图: use 视图文件名
 9.视图更新
 .表
 .重置关键字
 .可更新字段
 .发送SQL更新
 .SQL where 子句
 .使用更新(SQL DELETE然后insert、SQL UPDATE)
 10.远程视图:通过ODBC(Open DateBase Connectivity,开放式数据库互联)从远程数据源建立的视图。

三、练习
 1.在查询设计器的(排序依据)选项卡中需要指定用于排序的字段和排序方式。
 2.使用查询设计器创建多个表的查询时,必须使用的选项卡是(联接)。
 3.查询设计器的选项卡中,用于指定查询条件的是(筛选)选项卡,用于指定是否要重复记录及列在前而记录的是(杂项)选项卡。
 4.VFP的视图设计器可以设计本地视图和(远程视图)。
 5.视图是在(数据库)基础上建立的和种(虚拟表)。视图一经定义,就是数据库中的一部分,不能脱离数据库而使用,在打开视图时,先要打开数据库才能使用。视图妆有有和查询的特点,分为(本地)视图和(远程)视图。
 6.远程视图是建立在(ODBC)开放式数据库互联上的视图。

85

D:2011-4-7
T:8:23:00
IP:192.168.8.40



作者:
张顺海
(第三轮复习)第一、二章

第一章 VisualFoxPro6.0基础知识

一、数据库相关概念
 1.数据
  数据是指存储在某一媒体上的能够被识别的(物理符号)。如:文字、数字、图像、声音等。
 2.数据处理
  数据处理就是利用(计算机)对各种形式的数据进行处理,从中选取有(价值)的信息用于决策的过程。
  它包括数据(采集)、数据(整理)、数据(编码)和数据(输入)。
 3.数据库
  数据库是(长期)存储在(计算机)内的、(有组织)的(可共享)的数据(集合)。
  数据库中按一定的(数据模型)组织、描述和存储,具有较小的(冗余度)、较高的(数据独立性)和易(扩展性)。
 4.数据库管理系统是数据库系统中对数据进行管理的核心软件。它是用来(建立)、(存取)、(管理)和(维护)数据库的(软件)系统。
  数据库管理系统提供(安全性)、(完整性)、(并发控制)机制,及数据库系统各类用户对数据库的操作请求(数据定义、数据查询、数据更新、数据控制)。
 5.数据库系统是指引进数据库技术后的计算机系统。
  由数据库、软件系统(操作系统、数据库管理系统、开发工具、编译系统、应用系统)、用户(数据库管理员、终端用户)和硬件系统构成。
 6.数据库db;数据管理系统DBMS;数据库系统DBS。
 7.数据库系统的特点:
  .数据结构化
  .数据的共享性高、冗余低、易于扩充
  .具有较高的数据独立性
  .统一的数据控制功能
 8.数据模型
  .实体:是客观存在的物体。
  .实体通常由属性来描述它的特征。属性有型和值的区别,其中属性名是型;值是它的具体内容。
  .数据模型:(层次模型、网状模型、关系模型)。
  .vfp6.0数据库管理系统是建立在(‘关系模型’)下的DBMS。
 9.关系运算:(选择、投影、连接)
  选择:从关系中找出满足给定条件的‘元组’(记录)的操作;
  投影:从关系中指定若干个属性(字段)组成新的关系的操作;
  连接:通过连接条件将两个关系拼成一个新的关系的操作。
  注:上边说的关系(就是我们通常说的表格,即DBF)

二、VisualFoxPro6.0的启动、退出
 1.启动
  .执行安装路径下的vfp6.exe;
  .快捷方式双击
  .开始->程序->程序组->Microsoft VisualFoxPro6.0
 2.退出
  .单击“文件”菜单中的‘退出’
  .在命令窗口中输入quit命令后回车
  .直接按Alt+F4键。

第二章 表的操作

一、数据库的建立、打开、关闭(参见留言74条记录)
 1.数据库是一个容器,用来存放(表格、视图、连接、存储过程)
 2.命令:create database 数据库文件名
 3.扩展文件名:dbc;dct;dcx
 4.打开、修改(具有打开功能)数据库
  open database [noupdate]
  modify database [noedit]
  [exclusive|shared]:独占或者共享打开
 5.关闭数据库
  close database
 6.删除数据库
  delete database 数据库文件名 [deletetables]
  只删除数据库文件,不删除其中的表等内容。
  如果加有[deletetabels]选项,在删除数据库文件的同时也删除该数据库所包含的表。

二、数据表的操作
 1.建立数据表
  .create 表文件事
  .扩展表:dbf;fpt
  .建立表的过程就是建立表结构的过程
  .字段要素:(字段名、字段类型、字段宽度、小数位数、索引标识、空值)
 2.自由表、数据库表及区别(参见留言19、74条)
  字段名长度<=128个字符
  长表名
  字段属性(标题、注释、默认值、有效性规则、显示模式、掩码等)
 3.修改表的结构
  .modify structure
  .在修改表结构之前应该打开相应的表格,且应该独占(exclusive)状态下。
 4.记录的增加
  .append
  .append blank

  .insert
  .insert before
  .insert blank
  .insert blank before
  .insert before blank

 5.浏览记录
  .list(全部记录)
  .disp(当前记录)
  .browse(窗口方式浏览)

 6.记录的修改
  .change、edit(逐条修改、交互式修改)
  .browse(边浏览边修改)
  .replace(成批替换、自动修改)
  .update(从其他数据表成批更新、自动更新)

 7.删除记录
  .逻辑删除(加删除标志 delete,默认当前记录)
  .恢复删除(减删除标志 recall,默认当前记录)
  .物理删除(清除加标志的 pack,所有加标志的)
  .清空记录(全部清除记录 zap,结果为空库)
 8.定位记录
  .绝对定位 (go或goto或数字;注意bottom和top)
  .相对定位 (skip n或skip -n)
  .条件定位 (locate [范围] for <条件> )

  .相关函数 eof()、bof()、found()、recn()
 9.索引:使用索引,可以(加速对表的查询)
  .索引类型:(主索引、候选索引、普通索引、唯一索引)
  .索引文件类型:(单一索引、结构化复合索引、非结构化复合索引)
  .索引文件的扩展名:单一索引 idx 、结构化复合索引与非结构化复合索引都是 cdx。
  .结构化与非结构化复合索引的区别:结构化的文件名与当前表文件的主文件名同名,且随表格文件的打开同时自动打开,随表的内容更新,索引文件内容同步。非结构化复合索引需要手动打开。
  .索引文件的打开:set index to <索引文件列表>
  .索引文件的主控索引的改变:
   set orde to 索引号
   set orde to tag <索引标识> [cdxfile]
  注:参见 留言第76条留言的例子。

  .索引上的使用
  find 常量、seek 表达式
  相关函数 found()、recn()

  .删除索引
  delete tag <索引标识>
  如:删除当前结构化复合索引中的xm索引标识
  delete tag xm
  如:删除非结构化复合索引文件abc.cdx中的索引标识xb
  delete tag xb of abc
  如:删除当前结构化复合索引中的所有索引标识
  detele tag all
  如:删除非结构化复合索引文件abc.cdx中的所有的索引标识
  delete tag all of abc

 11.设置字段属性
  .字段属性包括:(字段标题、字段注释、字段默认值、字段有效性规则、字段显示格式、输入掩码)
  .以上的这些属性都是‘数据库库表’才拥有的,这正是和‘自由表’之间的区别。

 12.数据完整性
  .表间关系
  表之间的关系可以分为(一对一、一对多和多对多)三种关系类型。
  .在多表的操作中(一对多)的关系用得比较多。
  .一对一:一对一关系是指在表A中的任何一条记录,在表B中只能对应一条记录,而表B中的一条记录在表A中也只能有一条记录与之对应。
  .一对多:一对多关系是指表A中一条记录可以对应表B中的多条记录,而表B中的一条记录多只能对应表A中的一条记录,这种关系在关系数据库中最为普遍。
  .多对多关系是指表A中的一条记录可以对应表B中的多条记录,而表B中的一条记录也可以对应表A中的多条记录。

  .数据完整性
  包括(实体完整性、域完整性、参照完整性)
  实体完整性是通过(主关键字)来保证完成的;
  域完整性是通过(字段的类型、宽度、有效性规则)来保证完成的;
  参照完整性是通过(表间联系)保证完成的,通常有(插入、删除、更新)时检测参照完整性。

三、多表使用
 1.多工作区的使用:
  所谓工作区:就是内存中为表独立开辟的存储空间。
 2.工作区的数量
  VisualFoxPro6.0系统提供了(32767)个工作区。
 3.当前使用的工作区为当前工作区。
 4.一个工作区只能打开(一个)表,多个工作区可以同时打开(多个)表,但一个表(可以)在多个工作区打开。
 5.工作区的选择
  select <工作区号>
  select <别名>
  select 0
 6.工作区的编号
  系统为每个工作区规定了一个工作区号,分别是1-32767,其中1-10号工作区可以使用别名A-J或a-j来表示,其中select 0命令是选择当前没有使用的最小的区号的工作区。
 7.打开多个表
  use <表名> in <工作区号> again
  如:在4号工作打开表xm.dbf
  use xm in 4
 8.一个表xm.dbf在多个工作区(2、3、8)同时打开
  use xm in 2
  use xm in 3 again
  use xm in 8 again
 9.使用不同的工作区中的字段(两种方法)
  别名->字段名
  别名.字段名
 10.建立表间的临时关系
  set relation to <表达式> into 别名
  要求别名所在的表已经按照“表达式”的要求建立索引并打开且为主控索引。

练习题及作业:
地址:ftp://192.168.8.40/
文件夹:2011.4.8
84

D:2011-4-6
T:16:37:00
IP:192.168.8.40



作者:
张顺海
第六、七、八、九章总结

第六章 表单
  1.使用表单向导创建表单时,最多可以选择(3)个字段或者是(1)个索引标识来排序记录。
  2.表单生成器对话框中包含有(字段选取)和(样式)两个选项卡。
  3.文本框生成器对话框中包含有(格式)、(样式)和(值)三个选项卡。
  4.在表单中添加控件时,选定“表单控件”工具栏中的某个控件时,然后在表单上(单击),便可添加一个选定的控件;如果想要添加多个同类型的控件,则可在选定的控件按钮后,单击(锁定)按钮,然后在表单的不同位置单击,就可以添加多个同类型的按钮。如果(双击)控件,也可以完成同时添加多个同类型的按钮的功能。
  5.在VisualFoxPro的窗口命令中输入(create form)命令可以打开表单设计器创建表单。
  6.在VisualFoxPro中为表单指定标题的属性是(caption)。
  7.在表单中确定控件是否可见的属性是(Visible)。
  8.在当前表单的Label1控件中显示系统时间的语句是:(thisform.label1.caption=time())。
  9.标签标题文本最多可以包含的字符数是(256)。
  10.组合框生成器中包含有列表项、样式、布局、值四个选项卡。
  11.为刷新表单,应调用表单的refresh方法,正确的调用语法格式是(thisform.refresh)。
  12.用来确定复选框表是否被选中的属性是(value),用来指定显示在复选框旁的文字属性是(caption)。
  13.用来确定命令按钮组控件中按钮个数的属性是(buttoncount)。
  14.在数据环境设计器中选择要移去的表或视图,应选择“数据环境”菜单中的(移去)命令。
  15.在表格生成器的(关系)选项卡中,可以设置一对多表单。
  16.表单中的(页框)控件可用来创建多页面表单,该控件的(pagecount)属性可用来设置页面的个数。


第七章 报表与标签
  1.使用报表向导创建报表时,报表向导提供的报表样式有(经营式)、(账务式)、(简报式)、(带区式)和(随意式)五种类型。
  2.报表备注文件的扩展名是(frt)。
  3.在默认情况下,报表设计器包含(页标头)、(细节)、(页注脚)三个带区。
  4.设置报表分组时,在报表中自动添加了(组标头)(组注脚)带区。
  5.打印报表的VisualFoxPro命令是(report form)。
  6.报表布局定义能定义报表的(打印格式)。
  7.在报表“页面设置”对话框的“列”选项组中,可以设置报表的(列数)、(宽度)和(间隔)。
  8.要在报表中添加一个表达式,应插入一个(域)控件。
  9.在报表设计器下创建快速报表,选择“报表”菜单中的“快速报表”命令,打开(快速报表)对话框进行设置。
  10.标签文件的扩展名是(lbx)。

第八章 菜单、类、工具栏
  1.使用命令方式创建菜单,应该使用的命令是(create menu)。
  2.如果要定义热键,应该在菜单名称标题后面加上(\<字母)。
  3.要将一个弹出式菜单作为一个对象的快捷菜单,通常在对象的(RightClick)事件代码中添加调用该菜单的命令。
  4.VisualFoxPro6.0中“文件”菜单项中“新建”菜单项的内部名为(_mfi_new),“打开”的是(_mfi_open),“页面设置”的是(_mfi_pgset),“打印”菜单项的内部名是(_mfi_sysprint)。
  5.通过菜单设计器的(预览)和命令菜单的(运行)命令,可以查看设计菜单的运行结果。
  6.使用菜单设计器设计一个新建菜单后,应该将菜单定义保存到扩展名为(mnx)的文件中。
  7.弹出式菜单可以分组,插入分组线的方法是在“菜单”名称荐中插入(\-)符号。
  8.在命令窗口运行菜单程序文件ma的命令是(do ma.mpr)。
  9.使用菜单设计器定义菜单,最后生成的菜单程序文件的扩展名是(mpr)。
  10.在VisualFoxPro中可视类库文件的扩展名为(vcx)。

第九章 应用系统开发
  1.项目管理器的“文档”选项卡用于显示和管理(表单)(报表)和(标签)三种上类型的文件。
  2.项目管理器的“文本文件”组件包含在(其他)选项卡中。
  3.在VisualFoxPro中,项目文件的扩展名为(pjx)。
  4.在项目管理器的“移去”按钮有两个功能,一个是把文件(从项目中移去),一个是把文件(从磁盘中删除)。
  5.连编后生成的应用程序需要在VisualFoxpro中运行,则该应用程序文件的扩展文件名是(app),如果该应用程序可以在Windowsg脱离VFP运行,则该应用程序文件的扩展名为(exe)。
  6.如果将一个数据表设置为“包含”后,那么系统连编后,该数据表将(不能编辑修改)。
  7.数据表不能做为应用程序系统的主程序,表单、菜单或一个PRG程序是可以的。

要求:7 8 9章,并不是高考的重点,一些概念性的、基础性的要知道,上边简单的题目需要大家背过来。
1.各类文件的扩展文件名;
2.项目管理器各个选项卡上的内容;
83

D:2011-3-29
T:8:39:00
IP:188.188.2.61



作者:
张顺海
今日提问解答:
1.dow()函数
 求指定的时间是一个星期中的第几天。
 例如:求今天(date())是一个星期中的第几天。
 方法:? dow(date()) &&以今天2011.3.29 星期二
 返回值为 3
 解释:因为在美国是以星期日为一周的第一天,所以今天是星期二,所以应该是一周中的第三天,故返回为3。
 如果和我们的习惯统一,有两种方法:
 第一种:使用? dow(date(),2)的形式,这说明一周中的第一天从星期一开始,如果? date(date(),3)就是说第一天从星期二开始,以此类推,默认为1,是说明从星期日开始第一天。
 第二种:从菜单栏‘工具’--‘选项’-‘区域’-星期开始于-选择‘星期一’即可,但在调用时需要使用 ? dow(date(),0)的形式,说明按‘选项’中设置为准。

2.cdow()函数
 这个函数是返回指定日期是星期几的英语表现形式,例如今天是星期二,所以返回‘Tuesday’。
 调用形式:? cdow(date())
 结果:Tuesday
 其他:? cdow({^2010/10/01})是返回2010年10月1日是星期几的英文表现形式,结果为 Friday,即是星期五,大家想想如果用 ?dow({^2010/10/01})应该返回是多少?用?dow({^2010/10/01},2)呢?返回值一样吗?为什么?

3.stuff()函数
 这是一个根据指定字符串的位置与长度,按指定的字符去替换,stuff()函数本身并不能改变源字符串的值,除非再次赋值。
 例如:A="13512344321"
 这是一个手机号码。
 第一:将手机号码的第4位开始的2位变到88。
 ? stuff(A,4,2,"88") &&结果为13588344321
 ? A &&结果为13512344321
 第二:将手机号码的第3、4位之间加入68,升级为13位手机号码
 ? stuff(A,3,0,"68") &&结果为1356812344321
 ? A &&结果为13512344321
 第三:将手机号码第4位开始的4位去掉,降级为7位手机号码
 ? stuff(A,4,4,"") &&结果为1354321
 ? A &&结果为13512344321
 第四:将手机号码第4位的任意数字替换成86,即使原来的11位手机号码替换成12位。
 ?stuff(A,4,1,"86") &&结果为135862344321
 ?A &&结果为13512344321

 总结:这说明stuff()可以原地转换(第一类),也可以升位(第二类),也可以降位(第三类),也可以同时置换并升位(第四类),当然也可以同时转换并降位,但最终的关不改变A中的源字符串的内容。
 如果想更换,则可以用重新赋值的形式。
 例如:a=stuff(a,3,2,"88")
 这时变量A的值就已经发生了改变,变成stuff(a,3,2,"88")的结果了。

4.exp()函数
 这是一个自然数指数函数,自然数是2.71828183,是一个常量。
 exp(n)中的自变量n,就是求2.71828183的n次方的值,例如:exp(4),即求2.71828183的4次方是多少,返回值为54.60,这说明2.71828183的4次方是54.60。

 它和log()是反函数,log(n)是求n是e的多少次方啊,例如:log(54.60),它是求54.60是e(2.71828183)的多少次方,前便可知e的4次方是54.60,因此log(54.60)的返回值应该是4。
 可以用 ?log(54.60) &&结果为4.00

 大家想想:exp(2*log(10))的值应该是多少。

 
首页  前一页  后一页  末页
现在是第17页一共有99页