易截截图软件、单文件、免安装、纯绿色、仅160KB

总结一点Access与Sqlserver的sql的差异

最近整理出来的.如果不完全的话希望大家补充.
在access中,转换为大写的sql函数是ucase,在sqlserver中,转换为大写的函数是upper;在access中,转换为小写的函数是lcase,在sqlserver中,转换为小写的函数是lower;在access中,取当前时间的函数是now,另外还有一个取日期函数date,在sqlserver中,取当前的函数是getdate,没有直接的取日期函数。
在access中,datediff()和dateadd函数表示时间类型的部分必须用单引号括起来,写成这种样式:select datediff('n',addtime,now()) from * ……,或者select dateadd('d',5,now()),而在sqlserver中,必须写成select datediff(n,addtime,getdate()) from *……,或者select dateadd(d,5,getdate())。
在access中,字符串类型的数据不能用replace函数,但可以用 函数,备注类型的数据也一样。字符串类型的数据和备注类型的数据都可以用like来查找匹配。在sqlserver中,字符串类型的数据可以用replace函数和 函数,但是ntext类型的数据不能。而且sqlserver中ntext类型的数据还不能用like来查找匹配。
不过access和sqlserver都支持系统变量@@identity,这一点知道的人不多。
其它异同之处,容我一一补充。
另外我得继续说区别:在access的sql函数dateadd和datediff中,表示年的时间类型是yyyy,月是m,天是d,小时是h,分钟是n,秒是s。但是在sqlserver中,年是yyyy或yy,月是mm或m,天是dd或d,小时是hh,分是mi或n,秒是ss或s。特别是表示那个小时的时间类型特格外注意区别。
我觉得,因为sqlserver函数多,所以相较之下比较容易编程,而Access函数少,编程反而麻烦。不过幸好Access还支持vba
我还发现了sqlserver与Access的一点区别:
在sqlserver中,可以用这样的语法:
update *** set ***=*** where *** in (select ** from *** where *******)

select **** from **** where ***=(select *** from *** where ****)
但是在Access中,只能用后者。也就是说,在Access中,只查询只能用于select语句不能用于update语句。
不过我发现Access同时也支持这样的sql:
update *** set ***=(select *** from *** where ***=***) where ***=***

delete from *** where *** in (select *** from *** where ***=***)
这样的sql。
access函数大全
CDate 将字符串转化成为日期 select CDate("2005/4/5")
Date 返回当前日期
DateAdd 将指定日期加上某个日期se


相关文档:

sqlserver获取第n行数据

如何在一个没有主键的表中获取第n行数据,在sql2005中可以用row_number,但是必须指定排序列,否则你就不得不用select into来过渡到临时表并增加一个排序字段。
用游标的fetch  absolute语句可以获取绝对行数下的某行数据,测试代码如下:
set nocount on
--建立测试环境并插入数据,并且表没有主键
create table t ......

sql面试题目

Sql常用语法下列语句部分是Mssql语句,不可以在access中使用。
 
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句:
1、说明:创建数据库
CREATE ......

Oracle:PL/SQL 中如何使用Array

http://tech.163.com/05/0701/10/1NIODMQS00091589.html
因为在PL/SQL 中并没有数组.
这是偶查资料找的范例和自己写的范例来解释如何在PL/SQL 中使用数组. 也许很多人已知道, 不过就是让不知道的朋友们了解一下吧。
----------------------
单维数组
------------------------
DECLARE
TYPE
emp_ssn_array IS TA ......

sql 汉字转首字母拼音

create function fun_getPY(@str nvarchar(4000))
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号