ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6957|回复: 14

[原创] 【SQL】EXCEL-SQL函数子集或变形 之 ①聚合、②系统时间、③流程控制

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-3-26 23:01 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

本帖适用范围:

适用于在EXCEL中通过MS QUERY、OLE DB编缉查询的SQL语句中可使用的函数。只探讨通过MS QUERY、OLE DB编缉查询的SQL语句中可使用的函数的子集、变形、可行的变通方案。

由于OLE DB编缉查询中语法检查没有严格按规范来执行。
所以就以在MS QUERY中验证通过为准。

呵呵!原来这些函数就藏在ACCESS帮助里。

F1--> 目录 --> 表达式 --> 函数

以ANSI SQL ,近而以 T-SQL为基准来探讨EXCEL-SQL函数子集或变形,对于EXCEL来说毫无意义,纯属浪费时间。 之前的做法就此罢笔!

livewire 2010-3-28

经测试,字符串函数中 InStrRev, Replace, StrReverse不可使用。 GUIDFromString 未测试。

ScreenShot1.jpg



背景:

网上充斥的SQL资料海量,但常常令人困惑的是有些SQL函数不能在EXCEL中使用。

主要由于各数据库平台与ANSI SQL 2003存在差异,各数据库平台存在差异,就连微软的同门软件 MS SQL Server,  MS OFFICE ACCESS 和EXCEL之间也存在差异。资料虽多,不适用于EXCEL的也不少。

由于甄别和验证的工作量还是有的,就从最简单的聚合函数和内置的系统时间函数开始!

①聚合、②系统时间

聚合函数相当于工作表函数中的统计函数类。

ScreenShot1.jpg

③流程控制

ScreenShot4.jpg
欢迎
参与讨论!

[ 本帖最后由 livewire 于 2010-3-28 12:01 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-3-27 20:22 | 显示全部楼层
谢谢楼主分享。对于switch 在EXCEL-SQL中的用法我还是在这里第一次看到,以前在论坛中没有看到涉及switch的。
不知道switch用户是否如下例所示:
本示例使用 Switch 返回和城市名称匹配的语言名称。
   Switch(CityName = "London", "English", CityName  = "Rome", "Italian", CityName = "Paris", "French")
请指正。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-3-27 20:44 | 显示全部楼层

回复 2楼 whsfhwm 的帖子

对!就是这样!
当CityName = 'London' 时,返回 'English'
……
顺便请问一下, 使用双引号做为字符串的定界符,在MS Query中能通过吗?

虽然使用双引号做为字符串的定界符,在OLE DB编辑查询中没有语法问题。

但是SQL语句就要符合SQL标准。

[ 本帖最后由 livewire 于 2010-3-27 20:58 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-3-27 21:10 | 显示全部楼层

回复 3楼 livewire 的帖子

应该是采用单引号。我是看了你的帖子之后,再去查了EXCEL VBA中的switch帮助和示例,弄明白了switch的用户。谢谢楼主。
(2楼的示例是原样从VBA中复制过来的,目的是为了搞清楚用户,匆忙中没注意单双引号的细节。嘿嘿,楼主很细心哈)

TA的精华主题

TA的得分主题

发表于 2010-3-27 22:48 | 显示全部楼层
好久没来了,一来就看到自己想要的东西,占位学习,同时有问题再回头来编辑提问,希望房主要支持哦,

TA的精华主题

TA的得分主题

发表于 2010-5-21 23:27 | 显示全部楼层

回复 1楼 livewire 的帖子

1楼图片中的函数里,EXCEL-SQL中,string()也不可用,相应的函数应该是str()可用。
上述红字部分说法错误,对不起了~~~

[ 本帖最后由 whsfhwm 于 2010-5-23 00:02 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-5-22 11:01 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 12:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 whsfhwm 于 2010-5-21 23:27 发表
1楼图片中的函数里,EXCEL-SQL中,string()也不可用,相应的函数应该是str()可用。


String, String$ 函数的语法

String(number, character)

2010-5-22 11-58-39.png
2010-5-22 12-03-26.png

TA的精华主题

TA的得分主题

发表于 2010-5-22 16:36 | 显示全部楼层
对不起,是我记错了~~~

[ 本帖最后由 whsfhwm 于 2010-5-23 00:01 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-5-22 17:52 | 显示全部楼层

回复 9楼 whsfhwm 的帖子

自已动手试试。MSQuery中可以执行的SQL语句 一定能在 OLE DB编辑查询 中执行; 反之,则不一定。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 02:45 , Processed in 0.039481 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表