《SQL语句Scarl》PPT课件.ppt_第1页
《SQL语句Scarl》PPT课件.ppt_第2页
《SQL语句Scarl》PPT课件.ppt_第3页
《SQL语句Scarl》PPT课件.ppt_第4页
《SQL语句Scarl》PPT课件.ppt_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL 用在哪 ? 用在SQL server企业管理器 用在SQL server查询分析器 用在ACCESS的查询 用在SYBASE的查询 用在VISUAL FOXPRO 命令窗口 用在ORACLE数据库 用在Excel的OLE DB查询 步骤:数据导入外部数据导入数据选择工作表并确 定编辑查询命令文本窗口中输入SQL语句 用在Excel的query窗体中查询 步骤:数据导入外部数据新建数据库查询选择 Excel Files 并确定选择工作表并确定选择工作表 及字段点取消在Query窗体中点SQL按钮SQL语句窗 口中输入SQL语句点将数据返回到Excel 用在VB、VBA和其他程序中查询 编程方式就可以实现千变万化的功能 这里是实现按字符串长度排序 SQL的基础语 句 DB2 提供了关连式资料库的查询语言 SQL (Structured Query Language),是一种非常口语化 、既易学又易懂的语法。 此语言几乎是每个资料 库系统都必须提供的,用以表示关联式的操作, 包含了资料的定义(DDL)以及资料的处理( DML)。SQL原来拼成SEQUEL,这语言的原型 以“系统 R“的名字在 IBM 圣荷西实验室完成,经 过IBM内部及其他的许多使用性及效率测试,其 结果相当令人满意,并决定在系统R 的技术基础 发展出来 IBM 的产品。而且美国国家标准学会( ANSI)及国际标准化组织(ISO)在1987遵循一 个几乎是以 IBM SQL 为基础的标准关连式资料语 言定义。 一、资料定义 DDL(Data Definition Language) 资料定义语言是指对资料的格式和形态下 定义的语言,他是每个资料库要建立时候时首 先要面对的,举凡资料分哪些表格关系、表格 内的有什麽栏位主键、表格和表格之间互相参 考的关系等等,都是在开始的时候所必须规划 好的。 1、建表格: CREATE TABLE table_name( column1 DATATYPE NOT NULL NOT NULL PRIMARY KEY, column2 DATATYPE NOT NULL, .) 说明: DATATYPE -是资料的格式,详见表。 NOT NULL -可不可以允许资料有空的( 尚未有资料填入)。 PRIMARY KEY -是本表的主键。 2、更改表格 ALTER TABLE table_name ADD COLUMN column_name DATATYPE 说明:增加一个栏位(没有删除某个栏 位的语法。 ALTER TABLE table_name ADD PRIMARY KEY (column_name) 说明:更改表的定义把某个栏位设为主 键。 ALTER TABLE table_name DROP PRIMARY KEY (column_name) 说明:把主键的定义删除。 3、建立索引 CREATE INDEX index_name ON table_name (column_name) 说明:对某个表格的栏位建 立索引以增加查询时的速度。 4、删除 DROP table_name DROP index_name 二、资料形态 DATATYPES 数据类类型存储储大小说说明 BINARY每个字符占一个字 节 任何类型的数据都可存储在这 种类型的字段中。不需数据 转换 (例如,转换 到文本数 据)。数据输入二进制字段 的方式决定了它的输出方式 。 BIT1 个字节Yes 和 No ,以及只包含这两 个数值之一的字段。 TINYINT1 个字节介于 0 到 255 之间的整型数 。 MONEY8 个字节介于 922,337,203,685,477.5 808 到 922,337,203,685,477.5 807 之间的符号整数。 二、资料形态 DATATYPES DATETIME (清参阅 DOUBLE ) 8 个字节介于 100 到 9999 年的日期 或时间 数值。 UNIQUEIDENTIF IER 128 个位用于远程过程调用的唯一识别 数字。 REAL4 个字节单精度浮点数,负数范围是从 3.402823E38 到 1.401298E-45,正数从 1.401298E-45 到 3.402823E38,和 0。 FLOAT8 个字节双精度浮点数,负数范围是从 1.79769313486232E308 到 4.94065645841247E- 324,正数从 4.94065645841247E-324 到 1.79769313486232E308 ,和 0。 二、资料形态 DATATYPES SMALLINT2 个字节介于 32,768 到 32,767 的短 整型数。 INTEGER4 个字节介于 2,147,483,648 到 2,147,483,647 的长整型数 。 DECIMAL17 个字节容纳从 1028 - 1到 - 1028 - 1. 的值的精确的数字数据类型。 你可以定义精度 (1 - 28) 和 符号 (0 - 定义精度)。缺省精 度和符号分别是18和0。 TEXT每一字符两字节( 参见注意) 从零到最大 2,14 千兆字节。 IMAGE视实际 需要而定从零到最大 2,14 千兆字节。用 于 OLE 对象。 CHARACTER每一字符两字节( 参见注意) 长度从 0 到 255 个字符。 二、资料形态 DATATYPES 注意 可以用ALTER TABLE 语句修正基数和增量。刚插进表中 的行会有自动为基于新种值和增量值的列生成的值。如 果新种和增长的值和以前的种值及增量匹配,就会造成 复制。如果这个列是主键,复制值生成时可能导致错误 。 定义成TEXT也称作MEMO)或CHAR(也称作有具体长度的 TEXT(n))的字段中的字符被储存在 Unicode 表示格式 。Unicode字符一律需要两个字节存储每一字符。对于 现有的主要包含字符数据的 Microsoft Jet数据库,这 可能意味着数据库文件被转换成 Microsoft Jet 4.0格 式时字长会增加将近一倍。然而,从前由单字节字符群 (SBCS)指示的众多字符群的Unicode 表示可以很容易地 被压缩成一个单字节。 有关的详细信息,参见 CREATE TABLE。如果用COMPRESSION属性定义CHAR列,数据存储 时会自动被压缩,提取时解压缩。 三、资料操作 DML (Data Manipulation Language) 资料定义好之後接下来的就是资 料的操作。资料的操作不外乎增加资 料 (insert)、查询资料(query )、更改资料(update) 、删除资料 (delete)四种 模式 ,以下分 别介绍他们的语法: 1、增加资料: INSERT INTO table_name (column1,column2,.) VALUES ( value1,value2, .) 说明: 1. 若没有指定column 系统则会按表格内的 栏位顺序填入资料。 2. 栏位的资料形态和所填入的资料必须吻 合。 3. table_name 也可以是景观 view_name 。 INSERT INTO table_name (column1,column2,.) SELECT columnx,columny,. FROM another_table 说明:也可以经过一个子查询(subquery)把 别的表格的资料填入。 2、查询资料: 基本查询 SELECT column1,columns2,. FROM table_name 说明:把table_name 的特定栏位资料全部列出 来 SELECT * FROM table_name WHERE column1 = xxx AND column2 yyy OR column3 xxx 说明: 1.GROUP BY: 以column1 为一组计算 column2 的平均值必须和 AVG、SUM等整合性查询的关键字 一起使 用。 2.HAVING : 必须和 GROUP BY 一起使用作 为整合性的限制。 复合性的查询 SELECT * FROM table_name1 WHERE EXISTS ( SELECT * FROM table_name2 WHERE conditions ) 说明: 1.WHERE 的 conditions 可以是另外一个的 query。 2. 在此是指存在与否。 SELECT * FROM table_name1 WHERE column1 IN ( SELECT column1 FROM table_name2 WHERE conditions ) 说明: 1. IN 後面接的是一个集合,表示column1 存在 集合里面。 2. SELECT 出来的资料形态必须符合 column1 。 其他查询 SELECT * FROM table_name1 WHERE column1 LIKE x% 说明:LIKE 必须和後面的x% 相 呼应表示以 x为开头的字串。 SELECT * FROM table_name1 WHERE column1 IN (xxx,yyy,) 说明:IN 後面接的是一个集合,表示column1 存在 集合里面。 SELECT * FROM table_name1 WHERE column1 BETWEEN xx AND yy 说明:BETWEEN 表示 column1 的值介於 xx 和 yy 之间。 3、更改资料: UPDATE table_name SET column1=xxx WHERE conditoins 说明: 1.更改某个栏位设定其值为xxx 。 2.conditions 是所要符合的条件 、若没有 WHERE 则整个 table 的那个栏位都会 全部被更改。 4、删除资料: DELETE FROM table_name WHERE conditions 说明:删除符合条件的资料。 说明:关于WHERE条件后面如 果包含有日期的比较,不同数据库有 不同的表达式。具体如下: 如果是ACCESS数据库,则 为:WHERE mydate#2000-01-01# TRANSFORM aggfunction selectstatement PIVOT pivotfield IN (value1, value2, .) TRANSFORM 语句包含以下部分: 部分说明aggfunction操作所选数据的 SQL 聚合 函数。selectstatementSELECT 语句。pivotfield 希望用于创建查询结果集中列标题的字段或表 达式。value1,value2用于创建列标题的固定值 。 说明 使用交叉表查询汇总数据时,将从作为列标题的指定字 段或表达式中选择值,以便能够以一种比使用选择查询 更紧凑的方式来查看数据。 TRANSFORM 是可选的,但被包括时则是 SQL 字符串 中的第一个语句。它在 SELECT 语句之前以指定作为 行标题的字段,在 GROUP BY 子句之前以指定行分组 方法。您也可以包含其他子句(如 WHERE),以指定 其他选择或排序条件。还可以在交叉表查询中使用子查 询作为谓词,特别是在 WHERE 子句中。 pivotfield 中返回的值作为查询结果集中的列标题。例 如,在交叉表查询中如果依据月销售量来透视销售数据 ,将会创建 12 个列。可以约束 pivotfield 以便从可选 IN 子句中所列出的固定值(value1,value2)内选择 标题。也可以包含固定值用于没有数据来创建其他列的 情况 SQL中可用的函数 聚合函数 COUNT(*) 计算数据表中记录个数 MAX(年龄) 给出最大年龄 MIN(年龄) 给出最小年龄 AVG(工资) 计算平均工资 SUM(工资) 计算工资总和 字符串查找函数 InStr(start, string1, string2, compare) 返回 Variant (Long),指定一字符串在另一字符串中最先出现的位 置。 InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回 的是字节位置,而不是字符位置。 InstrRev(stringcheck, stringmatch, start, compare) 返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算 起。 请注意,InstrRev函数的语法和Instr函数的语法不相同。 如果字符串中只有一个匹配的, InstrRev(string1, string2) 函数和Instr(string1, string2)函数返回的结果相同, 字符串转换函数 CBool(expression) 转换为Boolean型 CByte(expression) 转换为Byte型 CCur(expression) 转换为Currency型 CDate(expression) 转换为Date型 CDbl(expression) 转换为Double型 CDec(expression) 转换为Decemal型 CInt(expression) 转换为Integer型 CLng(expression) 转换为Long型 CSng(expression) 转换为Single型 CStr(expression) 转换为String型 CVar(expression) 转换为Variant型 字符串转换函数 Val(string) 转换为数据型 Str(number) 转换为String Str(123)= “ 123“ 前面有空格,因为是正确,前面 一个空格表示符号位. Cstr(123)=“123“ 前面没有空格 Str(-123)=“-123“ 前面没有空格.因为有一个负 号LCase(string) 将string字符串里的所有大写字 母转化为小写字母 UCase(string) 将string字符串里的所有大写字母 转化为大写字母 字符串处理函数 Trim(string) 去掉string左右两端空白 Ltrim(string) 去掉string左端空白 Rtrim(string) 去掉string右端空白 Len(string) 计算string长度 Left(string, x) 取string左段x个字符组成的字符串 Right(string, x) 取string右段x个字符组成的字符串 Mid(string, start,x) 取string从start位开始的x个字符组 成的字符串 Ucase(string) 转换为大写 Lcase(string) 转换为小写 Space(x) 返回x个空白的字符串 Asc(string) 返回一个integer,代表字符串中首字 母的字符代码 Chr(charcode) 返回string,其中包含有与指定的字 符代码相关的字符 字符串处理函数 AscB(String As String) As Byte 返回字符串中第一个字节的值 例如:AscB(“坦然“)则返回102 AscW(String As String) As Integer 返回字符串中第一个字符的本机字符代码 (Unicode 或 ANSI) 例如:AscW(“坦然“)则返回22374 ChrW(CharCode As Long) 返回一个包含指定本机字符的字符串(Unicode 或 ANSI) 例如:ChrW(22374)则返回“坦“ 字符串处理函数 Filter(InputStrings, Value, Include, Compare) 返回一个下标从零开始的数组,该数组包含基于指定筛 选条件的一个字符串数组的子集。 InputStrings 必需的。要执行搜索的一维字符串数组。 Value 必需的。要搜索的字符串。 Include 可选的。Boolean值,表示返回子串包含还是不 包含Value字符串。如果Include是True,Filter返回的是 包含Value子字符串的数组子集。如果Include是False, Filter返回的是不包含Value子字符串的数组子集。 Compare 可选的。数字值,表示所使用的字符串比较类 型。有关其设置,请参阅下面的“设置值”部分。 Compare参数的设置值如下: vbUseCompareOption 1 使用Option Compare语句的设 置值来执行比较。 vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 字符串处理函数 vbDatabaseCompare 2 只用于Microsoft Access。基于您 的数据库信息来执行比较。 例如: Dim a(3) As String a(0) = “坦“ a(1) = “坦然“ a(2) = “坦然面“ a(3) = “坦然面对“ b = Filter(a, “然“) 则b(0) = “坦然“ b(1) = “坦然面“ b(2) = “坦然面对“ 字符串处理函数 Join(list, delimiter) As String 返回一个字符串,该字符串是通过连接某个数组中的多 个子字符串而创建的。 list 必需的。包含被连接子字符串的一维数组。 delimiter 可选的。在返回字符串中用于分隔子字符串的 字符。如果忽略该项,则使用空格(“ “)来分隔子字符串 。如果delimiter是零长度字符串(“),则列表中的所有 项目都连接在一起,中间没有分隔符。 例如: Dim a(3) As String a(0) = “坦“ a(1) = “坦然“ a(2) = “坦然面“ a(3) = “坦然面对“ b = Join(a, “+“) 则b = “坦+坦然+坦然面+坦然面对“ 字符串处理函数 LeftB(String, Length As Long) 从一个字符串的左边起返回指定数目的字节 例如: a = LeftB(“坦然面对“, 4) 则a = “坦然“ LenB(Expression) 返回存储一个变量所需的字节数 例如:a = LenB(“坦然面对“) 则a = 8 LTrim(String) 返回无前导空格的字符串的备份 字符串处理函数 RTrim(String) 返回一个无后缀空格的字符串的备份 例如: a = LTrim(“ 坦然面对 “) b = RTrim(“ 坦然面对 “) 则a = “坦然面对 “ b = “ 坦然面对“ MidB(String, Start As Long, Length) 从一个字符串中返回指定数目的字节 例如: a = MidB(“坦然面对“, 3, 4) 则a = “然面“ 字符串处理函数 MonthName(Month As Long, Abbreviate As Boolean = False) As String 返回一个表示指定月份的字符串。 abbreviate 可选的。Boolean值,表示月份名是否缩写。 如果忽略,缺省值为False,表明月份名不能被缩写。 例如: a = MonthName(5) 则a = “五月“ Format(expression, format, firstdayofweek, firstweekofyear) 返回 Variant (String),其中含有一个表达式,它是根据 格式表达式中的指令来格式化的。 expression 必要参数。任何有效的表达式。 format 可选参数。有效的命名表达式或用户自定义格式 表达式。 字符串处理函数 firstdayofweek 可选参数。常数,表示一星期的第一天。 firstweekofyear 可选参数。常数,表示一年的第一周。 firstdayofweek 参数有下面设置: vbUseSystem 0 使用 NLS API 设置。 VbSunday 1 星期日(缺省) vbMonday 2 星期一 vbTuesday 3 星期二 vbWednesday 4 星期三 vbThursday 5 星期四 vbFriday 6 星期五 vbSaturday 7 星期六 firstweekofyear 参数有下面设置: vbUseSystem 0 使用 NLS API 设置。 字符串处理函数 vbFirstJan1 1 从包含一月一日的那一周开始(缺省)。 vbFirstFourDays 2 从本年第一周开始,而此周至少有四 天在本年中。 VbFirstFullWeek 3 从本年第一周开始,而此周完全在本 年中。 示例 a = Format(#4/19/2008 1:01:05 PM#, “yyyy-mm- dd,ddd,hh:mm:ss“) a = “2008-04-19,Sat,13:01:05“ a = Format(#4/19/2008 1:01:05 PM#, “yyyy-mm- dd,dddd,h:m:s“) a = “2008-04-19,Saturday,13:1:5“ a = Format(#4/19/2008 1:01:05 PM#, “m-d-yy ampm h/m/s“) a = “4-19-08 PM 1-1-5“ 字符串处理函数 a = Format(1234567.89, “#,#.#00“) a = “1,234,567.890“ a = Format(0.12358, “#%“) a = “12%“ a = Format(0.12358, “#.#0%“) a = “12.36%“ a = Format(0.12358, “#.#000%“) a = “12.3580%“ a = Format(“TaNrAnMiAnDuI“, “) a = “TANRANMIANDUI“ a = Format(“TaNrAnMiAnDuI“, “) a = “tanranmiandui“ 总之,Format功能很强大,可替代许多函数。 字符串处理函数 FormatCurrency(Expression,NumDigitsAfterDecimal ,IncludeLeadingDigit ,UseParensForNegativeNumbers ,GroupDigits) 返回一个货币值格式的表达式,它使用系统控制面板中 定义的货币符号。 Expression 必需的。要格式化的表达式。 NumDigitsAfterDecimal 可选的。数字值,表示小数点 右边的显示位数。缺省值为1,表示使用计算机的区域 设置值。 IncludeLeadingDigit 可选的。三态常数,表示小数点前 是否显示一个零。 UseParensForNegativeNumbers 可选的。三态常数, 表示是否把负数值放在园括号内。 GroupDigits 可选的。三态常数,表示是否用组分隔符 对数字进行分组,组分隔符由计算机的区域设置值指定 。 字符串处理函数 FormatDateTime(Date,NamedFormat) 返回一个日期或时间格式的表达式。 Date 必需的。要被格式化的日期表达式。 NamedFormat 可选的。数字值,表示日期/时间所使用的 格式。如果忽略该值,则使用vbGeneralDate。 NamedFormat参数的设置值如下: vbGeneralDate 0 显示日期和/或时间。如果有日期部分 ,则用短日期格式显示。如果有时间部分,则用长时间格 式显示。如果都有,两部分都显示。 vbLongDate 1 用计算机区域设置值中指定的长日期格式 显示日期。 vbShortDate 2 用计算机区域设置值中指定的短日期格式 显示日期。 vbLongTime 3 用计算机区域设置值中指定的时间格式显 示时间。 vbShortTime 4 用24小时格式(hh:mm)显示时间。 字符串处理函数 示例 a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbGeneralDate) a = 2008-4-19 14:54:23 a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbLongDate) a = 2008年4月19日星期六 a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbShortDate) a = 2008-4-19 a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbLongTime) a = 14:54:23 a = FormatDateTime(#4/19/2008 2:54:23 PM#, vbShortTime) a = 14:54 字符串处理函数 Replace(expression, find, replacewith, start, count, compare) 返回一个字符串,该字符串中指定的子字符串已被替换成 另一子字符串,并且替换发生的次数也是指定的。 expression 必需的。字符串表达式,包含要替换的子字 符串。 find 必需的。要搜索到的子字符串。 replacewith 必需的。用来替换的子字符串。 start 可选的。在表达式中子字符串搜索的开始位置。如 果忽略,假定从1开始。 count 可选的。子字符串进行替换的次数。如果忽略,缺 省值是 1,它表明进行所有可能的替换。 compare 可选的。数字值,表示判别子字符串时所用的 比较方式。 字符串处理函数 compare参数的设置值如下: vbUseCompareOption 1 使用Option Compare语句的设 置值来执行比较。 vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 vbDatabaseCompare 2 仅用于Microsoft Access。基于 您的数据库的信息执行比较。 示例 a = Replace(“坦坦然坦然面坦然面对“, “然“, “对“) a = “坦坦对坦对面坦对面对“ a = Replace(“坦坦然坦然面坦然面对“, “然“, “对“, 5) a = “对面坦对面对“ a = Replace(“坦坦然坦然面坦然面对“, “然“, “对“, , 2) a = “坦坦对坦对面坦然面对“ 字符串处理函数 RightB(String, Length As Long) 从字符串的右边起返回指定数目的字节 示例 a = RightB(“坦然面对“, 4) a = “面对“ 字符串处理函数 Split(expression, delimiter, count, compare) 返回一个下标从零开始的一维数组,它包含指定数目的子 字符串。 expression 必需的。包含子字符串和分隔符的字符串表 达式 。如果expression是一个长度为零的字符串(“), Split则返回一个空数组,即没有元素和数据的数组。 delimiter 可选的。用于标识子字符串边界的字符串字符 。如果忽略,则使用空格字符(“ “)作为分隔符。如果 delimiter是一个长度为零的字符串,则返回的数组仅包含 一个元素,即完整的 expression字符串。 count 可选的。要返回的子字符串数,1表示返回所有的 子字符串。 compare 可选的。数字值,表示判别子字符串时使用的 比较方式。 字符串处理函数 compare参数的设置值如下: vbUseCompareOption 1 用Option Compare语句中的设 置值执行比较。 vbBinaryCompare 0 执行二进制比较。 vbTextCompare 1 执行文字比较。 vbDatabaseCompare 2 仅用于Microsoft Access。基于 您的数据库的信息执行比较。 示例 a = Split(“坦 坦然 坦然面 坦然面对“) a(0) = “坦“ ; a(1) = “坦然“ ; a(2) = “坦然面“ ; a(3) = “坦然 面对“ a = Split(“坦!坦然!坦然面!坦然面对“, “!“) 结果同上。 a = Split(“坦!坦然!坦然面!坦然面对“, “!“, 2) a(0) = “坦“ ; a(1) = “坦然!坦然面!坦然面对“ 字符串处理函数 StrComp(string1, string2, compare) 返回 Variant (Integer),为字符串比较的结果。 string1 必要参数。任何有效的字符串表达式。 string2 必要参数。任何有效的字符串表达式。 Compare 可选参数。指定字符串比较的类型。如果 compare 参数是 Null,将发生错误。如果省略 compare ,Option Compare 的设置将决定比较的类型。 compare 参数设置为: vbUseCompareOption -1 使用Option Compare语句设置 执行一个比较。 vbBinaryCompare 0 执行一个二进制比较。 vbTextCompare 1 执行一个按照原文的比较。 vbDatabaseCompare 2 仅适用于Microsoft Access,执 行一个基于数据库信息的比较。 字符串处理函数 StrComp 函数有下列返回值: string1 小于 string2 -1 string1 等于 string2 0 string1 大于 string2 1 string1 或 string 2为 Null Null 示例 a = StrComp(“坦“, “然“) a = -1 a = StrComp(“面“, “然“) a = 1 a = StrComp(“然“, “然“) a = 0 a = StrComp(“然“, Null) a = Null 字符串处理函数 StrConv(string, conversion, LCID) 返回按指定类型转换的 Variant (String)。 string 必要参数。要转换的字符串表达式。 conversion 必要参数。Integer。其值的和决定转换的类型。 LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系 统LocaleID为缺省值。) conversion 参数的设置值为: vbUpperCase 1 将字符串文字转成大写。 vbLowerCase 2 将字符串文字转成小写。 vbProperCase 3 将字符串中每个字的开头字母转成大写。 vbWide 4 将字符串中单字节字符转成双字节字符。 vbNarrow 8 将字符串中双字节字符转成单字节字符。 vbKatakana 16 将字符串中平假名字符转成片假名字符。 vbHiragana 32 将字符串中片假名字符转成平假名字符。 字符串处理函数 vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 vbFromUnicode 128 将字符串由 Unicode 转成系统的缺 省码页。 示例 a = StrConv(“how do you do“, vbUpperCase) a = “HOW DO YOU DO“ a = StrConv(“HOW DO YOU DO“, vbLowerCase) a = “how do you do“ a = StrConv(“how do you do“, vbProperCase) a = “How Do You Do“ vbWide vbNarrow 见原文 a = StrConv(“坦然面对“, vbUnicode) a = “fW6qb楖“ a = StrConv(“fW6qb楖“, vbFromUnicode) a = “坦然面对“ 字符串处理函数 StrReverse(string1) 返回一个字符串,其中一个指定子字符串的字符顺序是反 向的。 示例 a = StrReverse(“坦然面对“) a = “对面然坦“ WeekdayName(weekday, abbreviate, firstdayofweek) 返回一个字符串,表示一星期中的某天。 weekday 必需的。数字值,表示一星期中的某天。该数 字值要依赖于firstdayofweek设置中的设置值来决定。 abbreviate 可选的。Boolean值,表示星期的名称是否被 缩写。如果忽略该值,缺省值为False,表明星期的名称 不能被缩写。 firstdayofweek 可选的。数字值,表示一星期中第一天。 字符串处理函数 firstdayofweek参数值如下: vbUseSystem 0 使用本国语言支持 (NLS) API设置值。 vbSunday 1 星期日(缺省)。 vbMonday 2 星期一 vbTuesday 3 星期二 vbWednesday 4 星期三 vbThursday 5 星期四 vbFriday 6 星期五 vbSaturday 7 星期六 示例 a = WeekdayName(5) a = “星期四“ 数学函数 Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧 度 Log(x)返回x的自然对数 Exp(x)返回ex Abs(x)返回绝对值 Int(number)、Fix(number)都返回参数的整数部分,区别 :Int将-8.4转换成-9,而Fix将-8.4转换成-8 Sgn(number)返回一个Variant (Integer),指出参数的正 负号 Sqr(number)返回一个Double,指定参数的平方根 VarType(varname)返回一个Integer,指出变量的子类型 Rnd(x)返回0-1之间的单精度数据,x为随机种子 ROUND(c,decimals) 对某个数值域进行指定小数位数的 四舍五入 MOD(x,y) 返回除法操作的余数 测试函数 IsNumeric(x) 是否为数字, 返回Boolean结果,True or False IsDate(x) 是否是日期, 返回Boolean结果,True or False IsEmpty(x) 是否为Empty,返回Boolean结果,True or False IsArray(x) 指出变量是否为一个数组。 IsError(expression)指出表达式是否为一个错误值 IsNull(expression) 指出表达式是否不包含任何有效数据 (Null)。 IsObject(identifier)指出标识符是否表示对象变量 时间函数 1)日期加减:DateAdd(interval,number,date) interval是一个String值或者表达式,用于指出想加上 或者减去的时间段的类型;number是个数值,用于指出 对interval进行累加或者减去的次数;date是要在其上加 上或者减去interval的日期。 interval的值 yyyy 年 w 星期 q 季度 ww 周 m 月 h 小时 y 从一年的第一天开始的日数 n 分钟 d 日 s 秒 时间函数 2)计算两个日期的差: DateDiff(interval,date1,date2,firstdayofweek,firstweekof year) 3)提取日期中的部分内容: DatePart(interval, date,firstdayofweek, firstweekofyear) interval 必要。字符串表达式,是要返回的时间间隔。 date 必要。要计算的 Variant (Date) 值。 Firstdayofweek 可选。指定一个星期的第一天的常数。如 果未予指定,则以星期日为第一天。 firstweekofyear 可选。指定一年第一周的常数。如果未予 指定,则以包含 1 月 1 日的星期为第一周。 时间函数 DatePart interval 参数的设定值如下: 设置 描述 yyyy 年 q 季 m 月 y 一年的日数 d 日 w 一周的日数 ww 周 h 时 n 分钟 s 秒 时间函数 DatePart firstdayofweek 参数的设定值如下: 常数 值 描述 vbUseSystem 0 使用 NLS API 设置。 vbSunday 1 星期日(缺省值) vbMonday 2 星期一 vbTuesday 3 星期二 vbWednesday 4 星期三 vbThursday 5 星期四 vbFriday 6 星期五 vbSaturday 7 星期六 时间函数 DatePart firstweekofyear 参数的设定值如下: 常数 值 描述 vbUseSystem 0 使用 NLS API 设置。 vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。 vbFirstFourDays 2 从第一个其大半个星期在新的一年的 一周开始。 vbFirstFullWeek 3 从第一个无跨年度的星期开始。 说明 DatePart 函数可以用来计算日期并返回指定的时间间隔 。例如,可以使用DatePart 计算某个日期是星期几或目 前为几点钟。 firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。 时间函数 DatePart 如果 date 是日期文字,则指定的年份成为该日期的固定 部分。但是,如果 date 用双引号 (“ “) 括起来,且年份略 而不提,则在每次计算 date 表达式时,当前年份都会插 入到代码之中。这样就可以书写适用于不同年份的程序代 码。 DatePart 函数示例 本示例先取得一个日期,然后使用 DatePart 函数显示该 日期是发生在该年的哪一季。 4)用独立的部件生成日期:DateSerial(year,month,day) year,month和day都是整数值。 时间函数 5)用字符串表达式生成日期: DateVaue(stringexpression) DateValue(“3/1/2009“) DateValue(“March 1,2004“) DateValue(“1 Mar 04“) 6)其它日期函数: Now 返回一个Variant (Date),根据计算机系统设置 的日期和时间来指定日期和时间。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论