EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc

上传人:文库蛋蛋多 文档编号:2394861 上传时间:2023-02-17 格式:DOC 页数:28 大小:267KB
返回 下载 相关 举报
EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc_第1页
第1页 / 共28页
EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc_第2页
第2页 / 共28页
EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc_第3页
第3页 / 共28页
EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc_第4页
第4页 / 共28页
EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc》由会员分享,可在线阅读,更多相关《EXCEL2003 OLEDB查询下的SQL函数整理(whsfhwm).doc(28页珍藏版)》请在三一办公上搜索。

1、目录一、前言31.背景简介32.适用范围:43.技巧介绍44.SQL函数分类5二、聚合函数61.Sum 函数62.Count 函数83.Avg 函数94.Min 和 Max 函数105.First 和 Last 函数116.StDev 和 StDevP 函数127.Var 和 VarP 函数13三、字符串相关函数13(一)字符串查找函数131.Instr函数132.InStrB 函数15(二)字符串转换函数151.CBool(expression)152.CByte(expression)153.CCur(expression)154.CDate(expression)155.CDbl(exp

2、ression)156.CDec(expression)157.CInt(expression)158.CLng(expression)159.CSng(expression)1510.CStr(expression)1511.CVar(expression)1512.Val(string)1613.Str(number)16(三)字符串处理函数171.Trim(string)172.Ltrim(string)173.Rtrim(string)174.Len(string)175.Left(string, x)176.Right(string, x)177.Mid(string, start,

3、x)178.Ucase(string)189.Lcase(string)1810.Space(x)1811.Asc(string)1812.AscB(string)1813.AscW(string)1814.Chr(charcode)1815.ChrW(charcode as long)1816.String(number,string)1817.LeftB(String, Length As Long)1818.RightB(String, Length As Long)1919.MidB(String, Start As Long, Length)1920.LenB(Expression)

4、1921.Format(expression, format, firstdayofweek, firstweekofyear)1922.StrComp(string1, string2, compare)2023.StrConv(string, conversion, LCID)21四、数学函数221.Sin(X)、Cos(X)、Tan(X)、Atan(x)222.Log(x)223.Exp(x)224.Abs(x) 返回绝对值。225.Int(number)、Fix(number)226.Sgn(number)227.Sqr(number)228.VarType(varname)229.R

5、nd(x)2210.ROUND(c,decimals)22五、测试函数231.IsNumeric(x)232.IsDate(x)233.IsEmpty(x)234.IsError(expression)235.IsNull(expression)236.IsObject(identifier)23六、日期时间函数231.日期加减:DateAdd函数232.计算两个日期的差DateDiff函数:243.提取日期中的部分内容DatePart函数:244.用独立的部件生成日期DateSerial函数:265.用字符串表达式生成日期:DateValue(stringexpression)266.Now

6、()267.Date()268.Time()269.Timer() 2610.TimeSerial(hour, minute, second)2611.DateDiff(interval, date1, date2, firstdayofweek, firstweekofyear)2712.Second(time)2713.Minute(time)2714.Hour(time)2715.Day(date)2716.Month(date)2717.Year(date)2718.Weekday(date, firstdayofweek) 27七、流程控制函数271.Iif()和Switch()27

7、八、结束语28一、 前言1. 背景简介一直想对EXCEL 2003中SQL语句里的可用函数进行专门的归纳整理,今天终于与大家见面了。虽然目前EXCEL 2007/2010使用者越来越多,但无疑EXCEL 2003依然有着大量的使用人群,所以我才觉得很有必要对此进行整理,方便SQL初学者,希望他们能够少走一些弯路,节约一点时间来学习更多的精彩内容。相信对于使用高版本的朋友来说,本文也是有一定的借鉴作用的。构成本文的内容,有相当部分是来自于EH培训中心SQL初级培训班的培训过程,有引自EH技术论坛的内容,也有来自微软提供的帮助文档,当然还有本人自己钻研的一点点心得体会,所以这里主要是一种归纳整理。

8、由于本人水平所限,学习SQL时间也不长,所以有许多地方理解还比较肤浅,也难免有所疏漏或谬误,欢迎大家批评指正,或给与补充。本文中,如果没有特别说明,则所提到的SQL函数都是已经经过本人在EXCEL2003中OLE DB环境下测试并通过的;文中提到的示例语句一般使用蓝色字体,由于示例太多的话,将会让EXCEL文件过于庞大,故只在EXCEL文件“EXCEL-OLE DB之SQL函数示例(whsfhwm整理).xls”里提供了一部分实例,方便大家进行测试,文中出现的示例,而上述EXCEL文件中又没有的,完全可以自己做测试。另外,由于SQL语句的语法对于大小写不敏感,所以本文中并没有对SQL语句的书写

9、进行严格规范,这一点请大家多多包涵。2. 适用环境:本文介绍的内容适用的环境为:EXCEL 2003 OLE-DB环境下的SQL查询。本文内容重点在于介绍SQL函数,而非SQL语句。3. 技巧介绍介绍SQL函数之前,先介绍一下本人在测试SQL语句中的几个小技巧:l 编辑技巧:(虽然不是本人首创,但接触SQL多了,自然而然就需要这样做了)使用记事本或其他类似小巧的编辑工具来编辑SQL语句。通常,你会感觉到编辑查询对话框中进行编辑SQL语句实在是不方便,因此推荐在记事本中进行编辑,好处有两点:一是可以方便的将数据源的标题行复制过来,然后用替换的方法将字段名称之间转化为“,”,这个是SQL语句语法的

10、要求,这样复制过来的字段名称还可以避免自己录入出错的可能性;二是可以防止在所书写SQL语句有错误的情况下丢失刚才的语句,起到临时书写备份的作用,便于自己对错误语句的检查。l 首次创建查询表技巧:第一次创建导入外部数据的查询表时,不得不通过菜单-导入外部数据-导入数据-选择数据源文件-出现“编辑OLE DB查询”对话框时,此时一般就不要匆忙将自己书写的SQL查询语句录入到命令文本中,而是采用默认的方式生成查询表,这样做的好处就是避免自己所写的SQL语句有误,不产生任何结果,然后下一次操作又要重复上面的步骤,效率显然较低;所以建议采用默认方式,然后再通过右键快捷菜单打开编辑查询对话框进行修改测试。

11、l 复制SQL查询表技巧:针对同一数据源创建多个SQL查询表时,第二个及以后的查询表可以不用通过菜单操作,而直接把第一个SQL查询表的全部区域进行复制(显然比通过菜单操作要快得多),然后修改SQL语句即可。注意:当你的被复制的SQL查询表只返回一个值时,也就是只有一个字段名,一个结果值,显示上只有一列两行,实际要复制的时候必须复制一列3行,即把结果值下面的那个单元格也一起复制,否则复制过去的就不是查询表,右键点击就不会有“编辑查询”菜单(经本人测试,EXCEL2007/2010版本创建的SQL查询表不存在此问题)。l 调试复杂SQL语句技巧(比如用到嵌套查询或联合查询或子句较多):可以将SQL

12、语句分割成多个独立的查询分语句或去掉一些复杂子句,然后逐一测试分语句或逐步添加子句,这样便于发现问题,或观察中间结果是否与自己的期望结果一致。l 注意检查源表字段的数据类型:这个其实不叫技巧,但需要引起重视,尤其是出现古怪的结果的时候。尽量采用规范的表格数据结构,同一个字段的数据类型要注意保持一致,否则可能出现意想不到的结果,超出你的期望。4. SQL函数分类EXCEL2003中的SQL函数主要有如下几类(共有88个):l 聚合函数(也有称作“合计函数”、“聚集函数”等其他叫法的,我们主要注重学习用法。)l 字符串相关函数l 日期时间函数l 数学函数l 测试函数l 流程控制函数二、 聚合函数这

13、一部分主要参考了Microsoft Jet SQL语言参考中的内容,并结合本人的测试示例和一些亲身体会来介绍。聚合函数主要有:l Sum 函数l Count 函数l Avg 函数l Min, Max 函数l First, Last 函数l StDev, StDevP 函数l Var 和 VarP 函数注意:使用聚合函数的查询必须要有from子句。1. Sum 函数 返回值:包含在指定查询字段中一组值的总计。语法: Sum(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。 expr中的运算对象可能包括一

14、个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL 聚合函数)。说明:Sum 函数会忽略包含 Null 字段的记录。可以在一个查询表达式之中使用 Sum 函数。你也可以在具备 SQL 特性的 QueryDef 对象中或在创建基于SQL查询的 Recordset 对象时使用这一表达式。示例:示例1-1:查询各省份的发货数量小计:select 省份,sum(数量) as 数量小计 from 发货清单$ group by 省份示例1-2:统计发货总数量:select sum(数量) as 总数量 from 发货清单$示例1-3:统计湖南省2009年发货总数量:sele

15、ct sum(数量) as 2009年湖南发货总屏数 from 发货清单$ where 省份=湖南 and 发货日期 between #2009-1-1# and #2009-12-31#注意:在EXCEL2003中,上述示例1-2、示例1-3 的返回值虽然都是一个,只有2个单元格(包括字段名称)有显示内容,但所在的SQL查询结果占用了3个单元格(包括第3行所在同列的单元格)。此外,sum()函数和后面介绍的count()函数在排名等其他方面的高级应用,请大家参考Scarlett_88讲师的精华帖:SQL&Excel结合经典剖析:47期基础题呀,几多疑惑,几多玩味。我们来细细品一品。2. Co

16、unt 函数返回值:计算从查询返回的记录数。语法:Count(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL合计函数).您可以计算任何种类的数据,包含文本数据。说明:可以使用 Count 计算下一级查询的记录数。例如,可以使用 Count 计算运往指定国家的货物订单数量。虽然 expr 能执行一个字段上的计算,但 Count 只是简单计算记录的数量。并不管记录中保存的是什么值。Count

17、 函数不数带有 Null 字段的记录,除非 expr是星号 (*) 通配符dadefWildcardCharacters.如果使用星号,Count 将计算所有记录的总量,包括有 Null 的字段的记录。Count(*) 比 Count (Column Name) 快得多。不要将星号放在引号 ( ) 中。示例:示例2:计算“发货清单”表中的省份个数:SELECT count (*) as 省份个数 FROM( SELECT distinct 省份 from 发货清单$ ) 上例中的distinct关键字使得嵌套查询子句获得所有不重复的省份,然后通过外层查询中的count(*)计算省份个数。如果

18、expr 标识多重字段,在至少有一个字段的值不为 Null 的情况下, Count 函数只计算一个记录。如果全部的指定字段为 Null,没有记录会被计算。使用 (&) 分隔字段名。在查询表达式中可以使用 Count。你可以把这些表达式应用于具备 SQL特性的 QueryDef对象中或在创建基于SQL查询的Recordset时。注意:其他系统环境下的SQL中,有的支持count(distinct/all 列名)的样式,EXCEL2003中的外部导入数据就是使用的JET DB 4.0 SQL ,并不支持count(distinct/all 列名)的用法,只支持count(列名或列名组合表达式)或c

19、ount(*)的样式。3. Avg 函数返回值:计算包含在特定查询字段中的一组数值的算术平均值。语法:Avg(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算平均值的数据;或者标识一个表达式,它用该字段中的数据来执行计算。 expr中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL 合计函数)。说明:使用 Avg 计算的平均值是算术平均值(将全部值的总和除以值的数目)。注意:Avg 函数在计算中不计任何 Null 字段。示例:示例3-1:查询各省份,各类型的平均数量:select 省份,类型,avg(数量

20、) as 平均数量 from 发货清单$ group by 省份,类型示例3-2:统计2007年工程平均数量大于3的各省工程平均数量,并按平均数量降序排列:select 省份,avg(数量) as 平均数量 from 发货清单$ where year(发货日期)=2007 group by 省份 having (avg(数量) 3) order by avg(数量) desc4. Min 和 Max 函数 返回值:在查询时从一组指定字段的值中返回最小或最大值。语法:Min(expr)Max(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表

21、达式,它使用此字段中的数据来执行计算。 expr中的运算对象可能包括一个表字段名,一个常数或一个 函数 (可能是内在的,也可能是用户自定义的,但不是 SQL 合计函数)。说明:可以使用 Min 及 Max 来计算字段中的最小及最大值,该字段是基于指定的合计或分组的。例如,可以使用这些函数返回最低和最高的货运成本。如果没有指定合计,则使用整个表。示例:示例4-1:获得“发货清单”表各省份中的最大发货量:select max(发货量) as 各省份中的最大发货量 from (select 省份, sum( 数量) as 发货量 from 发货清单$ group by 省份)示例4-2:获得“发货清

22、单”表各省份中的最小发货量:select min(发货量) as 各省份中的最小发货量 from (select 省份, sum( 数量) as 发货量 from 发货清单$ group by 省份)5. First 和 Last 函数 返回值:在查询所返回的结果集中,第一个记录或最后一个记录所返回的字段值。语法:First(expr)Last(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 S

23、QL 合计函数)。说明:First和 Last 函数与 MoveFirst和 MoveLast法在 DAO 记录集合对象中是相近的。它们只简单返回查询结果集中的第一个或最后一个记录的指定字段值。因为通常返回的记录没有一定的顺序,所以这些函数返回的记录会任意地排列。注意:经本人测试,EXCEL-SQL系统中,带有first或last函数的查询语句,即使查询语句里包含一个 ORDER BY 子句也不起作用,系统还是按原有默认顺序的记录返回第一行或最后一行结果,对此有异议的朋友可以发帖讨论。示例:示例5-1:提取2008年第一笔发货记录的合同号及发货数量:select first(合同号) as 2

24、008年第一笔发货记录的合同号,first(数量) as 发货数量 from 发货清单$ where year(发货日期) = 2008示例5-2:提取最后发货记录的合同号及发货数量:select last(合同号) as 最后发货的合同号,last(数量) as 发货数量 from 发货清单$【特别说明】下面提到的四个聚合函数(StDev、StDevP、Var、VarP函数)本人均未测试,文中有关这四个函数的内容完全摘自于Microsoft Jet SQL语言参考中的介绍,这里也就没有提供实测示例。请对此有兴趣的朋友自行研究,当然也欢迎分享你的心得体会和研究成果。6. StDev 和 StD

25、evP 函数 返回值:返回总体或总体样本的标准偏差的估计值,此估计值用包含在一个查询的指定字段中的一组值来表示。语法:StDev(expr)StDevP(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL 合计函数)。说明:StDevP 函数计算总体,而 StDev 函数则计算总体样本。如果下一级查询中包含两个以下的记录(或没有记录,对于StDevP 函数),这两个函数将返回一个 Null

26、值(表示不能计算标准偏差)。7. Var 和 VarP 函数 返回值:返回一个总体或总体样本的方差的估计值,此估计值用包含在指定查询字段中的一组值来表示。语法:Var(expr)VarP(expr)其中 expr 代表一个字符串表达式,它或者标识一个字段,该字段包含要计算的数据;或者是一个表达式,它使用此字段中的数据来执行计算。expr 中的运算对象可能包括一个表字段名,一个常数或一个函数(可能是内在的,也可能是用户自定义的,但不是 SQL 合计函数)。说明:使用 VarP 函数计算总体,而 Var 函数计算总体样本。如果下一级查询中包含两个以下的记录,Var 及 VarP 函数将返回一个 N

27、ull 值,表示不能计算方差。三、 字符串相关函数(一) 字符串查找函数1. Instr函数返回值:返回变量型(长型)Variant (Long),指定一字符串在另一字符串中最先出现的位置。 语法:InStr(start, string1, string2, compare)由于EXCLE OLE DB中的SQL没有replace类似的函数,所以Instr函数的使用在某些场合显得尤为重要,所以这里就对该函数的各参数做详细说明:start可选。数值表达式,设置每次搜索的开始位置。如果省略,则从第一个字符位置开始搜索。如果 start 包含 Null,将产生错误。如果指定 compare 参数,则

28、必须指定 start 参数。string1必选。要在其中进行搜索的字符串表达式。string2必选。被搜索的字符串表达式。compare可选。指定字符串比较类型。如果 compare 为 Null,将产生错误。如果省略 compare,则比较类型由 Option Compare 设置决定。请指定有效的 LCID(区域设置 ID),以在比较中使用区域设置特定的规则。compare 参数设置如下:常量值说明vbUseCompareOption-1使用 Option Compare 语句的设置执行比较。vbBinaryCompare0执行二进制比较。vbTextCompare1执行文本比较。(此时不

29、区分字母的大小写)vbDatabaseCompare2Microsoft Office Access 2007 专用。根据数据库中的信息执行比较。select Instr(XXpXXpXXPXXP, P) as P的位置 - 返回 P的位置值9。注意:在参数compare缺省的情况下,instr()函数区分大小写。示例:Instr(4,XXpXXpXXPXXP, P) - 返回 6;Instr(1,XXpXXpXXPXXP, w) - 返回 0;注意:上述两个示例都没有from子句。其实,根据我的学习体会,除了聚集函数必须要有from子句之外,本文中提到的其他各类SQL函数都可以不需要from

30、子句,要注意的是,此时该SQL语句查询结果返回值只能是一个。select公司名称, trim(mid(电话,instr(电话,)+1) as 号码 from 供应商$这是一个相对复杂的应用,根据供应商表中原有电话列的 “(区号)号码”的形式,提取各公司的联系电话号码(不要括号和区号,并去掉空格)。2. InStrB 函数返回值:作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。(二) 字符串转换函数1. CBool(expression) 转换为Boolean型2. CByte(expression) 转换为Byte型3. CCur(expression)

31、转换为Currency型4. CDate(expression) 转换为Date型5. CDbl(expression) 转换为Double型6. CDec(expression) 转换为Decemal型7. CInt(expression) 转换为Integer型8. CLng(expression) 转换为Long型9. CSng(expression) 转换为Single型10. CStr(expression) 转换为String型11. CVar(expression) 转换为Variant型12. Val(string) 转换为数据型上述函数功能类似,基本上都是进行数据类型转换,就

32、不一一介绍了。只对个别函数的使用进行详细介绍,其他函数的具体使用可以参考微软网站上的帮助(个人经验:参考VBA中同名函数的帮助,语法结构都类似)。Val函数会在其不能识别为数字的一部分的第一个字符处停止读取字符串。不会识别经常被当作数值的一部分的符号和字符,如美元符号和逗号。不过,该函数会识别进位制前缀 &O(八进制)和 &H(十六进制)。空白、制表符和换行字符均会从该参数中去掉。下面的语句将返回值 1615198:Val( 1615 198th Street N.E.)在下面的代码中,Val 将返回所显示的十六进制值的十进制值 -1:Val(&HFFFF)Val 函数仅将句点 (.) 识别为

33、有效的小数点。当使用其他形式的小数点时(如在国际化应用程序中),请改用 CDbl 将字符串转换为数字。13. Str(number)函数必选的number参数是Long类型的值,其中包含任何有效的数值表达式。将数字转换为字符串时,通常会为number的符号保留一个先导空格。如果number为正,返回的字符串中将包含一个先导空格,暗示具有正号 (+)。可以使用Format函数将希望设置格式的数字值转换为日期、时间、货币或用户定义的其他格式。与Str不同,Format函数并不会为number的符号包含一个先导空格。Str函数只将句点 (.) 识别为有效的小数点。当可能使用其他小数点时(例如,在国际

34、化应用程序中),请使用CStr将数字转换为字符串。select cstr(2010-5-25) 返回结果都是文本型的“1980”,这里的“-”被当着减号进行运算,并将运算结果转换为文本型返回。select str(2010-5-25)返回结果都是文本型的“ 1980”。Select str(true)返回结果为“-1”,select str(false) 返回结果为“ 0”。select str(#2010-5-25#) 返回结果为文本型的“2010-5-25”,对于日期型的数据转换结果没有先导空格。val(32a4)-返回32val(ad45f)-返回0CInt (32a4)-报错Str(“

35、aa”) -报错Str(“32aa4”) -报错Str(“324”) -返回324表达式& “” 相当于将表达式结果转换为字符串型。+0或 -0 在纯数字文本数据类型的情况下,其用法与Cint或CLng用法类似;(三) 字符串处理函数1. Trim(string) 去掉string左右两端空白。2. Ltrim(string) 去掉string左端空白。3. Rtrim(string) 去掉string右端空白。4. Len(string) 计算string长度。5. Left(string, x) 取string左段x个字符组成的字符串。6. Right(string, x) 取string

36、右段x个字符组成的字符串。7. Mid(string, start,x) 取string从start位开始的x个字符组成的字符串。8. Ucase(string) 转换为大写。9. Lcase(string) 转换为小写。10. Space(x) 返回x个空白的字符串。11. Asc(string) 返回一个integer,代表字符串中首字母的字符代码。12. AscB(string) 返回一个byte,代表字符串中首字节的值,不常用。13. AscW(string) 返回一个integer,代表字符串中首字符的本机字符代码(Unicode或ANSI)。14. Chr(charcode) 返回

37、string,其中包含有与指定的字符代码相关的字符。15. ChrW(charcode as long) 返回string,其中包含指定本机字符的字符串(Unicode或ANSI)。16. String(number,string) 返回string首字符重复number次数的字符串。17. LeftB(String, Length As Long)从一个字符串的左边起返回指定数目的字节。18. RightB(String, Length As Long)从一个字符串的右边起返回指定数目的字节。19. MidB(String, Start As Long, Length)从一个字符串中返回指定

38、数目的字节。20. LenB(Expression)返回存储一个变量所需的字节数。21. Format(expression, format, firstdayofweek, firstweekofyear)返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。expression 必要参数。任何有效的表达式。format可选参数。有效的命名表达式或用户自定义格式表达式。Format() 处理日期输出格式时,有的时候和datepart()相似,但前者的结果是文本型,后者是数值型 。“w”代表星期几,“ww”代表一年中的第几周,“y”代表一年中的第几天

39、;“q”代表季度,“yyyy”年份(4个数字);“yy”年份(年份后2个数字);“m”月份,“d”日期,“h”小时,“mi”分钟,“s”秒。 总之,Format功能很强大,可替代许多函数。但要注意的是它返回的是文本数据。其他还有如下本人测试过的部分应用示例:FORMAT(数据,”#”) -返回文本型数字FORMAT(数据,”0000#”) -返回文本型数字,占有5位,不足5位的前面补零。FORMAT(NOW(),”) -文本格式的日戳“2010-5-22 7:59:18”, 如果数据源不是日期,则显示空白。FORMAT(NOW(),”d”) -日(1,2,30,31)FORMAT(NOW(),

40、”dd”) -日(01,02,30,31)FORMAT(NOW(),”ddd”) -星期几的英文缩写 FriFORMAT(NOW(),”dddd”) -星期几的英文全称FridayFORMAT(NOW(),”ddddd”) -2010-5-21FORMAT(NOW(),”dddddd”) -2010年5月21日FORMAT(NOW(),dddddddddd)- 2010年5月21日FridayFORMAT(数据 ,正;负;零)-根据数据的符号来显示结果,数据为数值1或字符串“1”的结果是一样的。22. StrComp(string1, string2, compare) 返回 Variant

41、(Integer),为字符串比较的结果。string1 必要参数。任何有效的字符串表达式。 string2 必要参数。任何有效的字符串表达式。 Compare 可选参数。指定字符串比较的类型。如果第三个参数值为 1,字符串是以文本比较的方式进行比较;如果第三个参数值为 0 或是缺省,则以二进制比较的方式进行比较,此时函数将区分字母的大小写。参与比较的两个字符串完全相同时返回0;如果第一个字符串大于第二个字符串,则返回1;如果第一个字符串小于第二个字符串,则返回-1。可见,文本比较方式会将大小写字母视为一样,但二进制比较方式则视为不同。23. StrConv(string, conversion

42、, LCID) 返回按指定类型转换的 Variant (String)。string 必要参数。要转换的字符串表达式。 conversion 必要参数。Integer。其值的和决定转换的类型。 LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。) conversion 参数的设置值为:vbUpperCase 1 将字符串文字转成大写。 vbLowerCase 2 将字符串文字转成小写。 vbProperCase 3 将字符串中每个字的开头字母转成大写。 vbWide 4 将字符串中单字节字符转成双字节字符。 vbNarrow 8 将字符串中双

43、字节字符转成单字节字符。 vbKatakana 16 将字符串中平假名字符转成片假名字符。vbHiragana 32 将字符串中片假名字符转成平假名字符。vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。 vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。本人测试后发现:StrConv(string,1)效果等同于Ucase()StrConv(string,2)效果等同于Lcase()四、 数学函数1. Sin(X)、Cos(X)、Tan(X)、Atan(x) 三角函数,单位为弧度。2. Log(x) 返回x的自然对数。3. Exp(x

44、) 指数函数,返回ex。4. Abs(x) 返回绝对值。5. Int(number)、Fix(number)都返回参数的整数部分,区别:Int将-8.4转换成-9,而Fix将-8.4转换成-8。6. Sgn(number)返回一个Variant (Integer),指出参数的正负号。7. Sqr(number)返回一个Double,指定参数的平方根。8. VarType(varname)返回一个Integer,指出变量的子类型。9. Rnd(x)返回0-1之间的单精度数据,x为随机种子。10. ROUND(c,decimals) 对某个数值域进行指定小数位数的四舍五入。 其他系统比较常见的数学

45、函数Mod()不知道为什么在EXCEL2003 OLD DB编辑查询中不可用,想达到类似功能,需要采用int()加以转化和运算了。五、 测试函数1. IsNumeric(x) 是否为数字, 返回Boolean结果,True or False。2. IsDate(x) 是否是日期, 返回Boolean结果,True or False。3. IsEmpty(x) 是否为Empty,返回Boolean结果,True or False。4. IsError(expression)指出表达式是否为一个错误值。5. IsNull(expression) 指出表达式是否不包含任何有效数据(Null)。6. IsObject(identifier)指出标识符是否表示对象变量。六、 日期时间函数1. 日期加减:DateAdd函数语法:DateAdd(interval,number,date)interval是一个String值或者表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号