Access关于一些常用日期时间字段的SQL的写法

2020-01-01 08:00:00
zlcntt
转贴
215

Access作为数据库,一个强大的功能就是SQL语句对数据的操作。

下面总结了一些常用的SQL语句:


1、alter table TableName  add 字段1 int			--增加一列int型字段1
2、alter table TableName alter column 字段1 DateTime	--字段1的类型转为DateTime
3、update TableName  set 字段1=format(CDate(测量日期&' '&测量时间),"yyyy-mm-dd hh:nn:ss")  --测量日期与测量时间合并到字段1里
--要注意合并的两项是否有可合并性。并且若出现用户占用提示需要将表关闭了(Access中执行SQL时)
4、alter table TableName  drop column 测量时间        --删除一列
5、create table TableName(姓名 varchar(20), 年龄 varchar(20), QQ varchar(20))	--创建表
6、insert into TableName(姓名, 年龄, QQ) values ('ZL', '20', '1111111117')		--增加数据
7、delete from TableName where 姓名 not in('ZL')		--删除姓名列不是ZL的
8、update TableName set 姓名 = 'ZhLe' where 姓名 = 'ZL'	--把原来叫ZL的改为ZhLe
9、select * from TableName where 姓名 like '赵%'		--查找数据(%为多字符(Access软件里要用*),?为一个字符)
10、delete from TableName  where ID=1			--根据ID删除一行
11、delete from (select * from (select * from TableName  where TimeValue(日期时间) between #02:00:00# and #04:00:00#) where DateValue(日期时间) between #2013-10-01# and #2013-10-10#) --删除日期从#2013-10-01 - 2013-10-10#并且时间从#02:00:00 -  04:00:00#的数据,这种写法通过TimeValue与DateValue来定类型,所以日期时间字段为短文本的也可以选择出来。必须注意其与下面一句的区别
12、delete from (select * from TableName where 日期时间 between #2013/10/1 2:00:00# and #2013/10/10 4:00:00#)	--删除日期时间栏从#2013-10-01 02:00:00#到#2013-10-10 04:00:00#的数据,注意日期时间栏必须为Date/Time类型,否则无法达到效果
13、select count(*) from TableName  where 备注		--计算备注列有值的个数
14、select count(备注) from TableName               --计算备注列有值的个数
15、select count(*) from TableName where 备注 = "123"	--计算备注列有"123"值的个数
16、select distinct 仪器编号 from TableName  --选择仪器编号字段的不重复数据
17、 select distinct 管道编号 from TableName   where 管道编号 like '??-0013'	--选择管道编号字段里适合通配符的数据,一个问号是一个字符
17、select * from TableName where (left(管道编号,2)='03')	--筛选管道编号字段从左侧起为03的数据
18、select * from TableName where 日期时间 between #2013-10-1 02:00# and #2013-10-10 04:00#  and 仪器编号 = 100841 and 管道编号 like '03-*'
19、select * from TableName where 日期时间 between #2013/10/1 2:00:00# and #2013/10/10 4:00:00# and 仪器编号=100841 and 管道编号='00-0210'
20、select * from TableName  where 测量日期 = #2013/10/11#	--选择测量日期为2013/10/11的数据
21、update TableName set 管道编号='B'& mid(管道编号,4) where (left(管道编号,2)='03')  --根据管道编号字段的前两位来将其更改为相应的编号。比如'03-1234'就改为'B1234'。mid(管道编号,4)是保留从第四位开始往后的字符串。
22、update TableName set 管道编号='G'& CStr(CDbl(mid(管道编号,4))) where (left(管道编号,2)='11')		--跟上面相类似,CStr(CDbl(mid(管道编号,4)))是把从第四位往后的字符串先转换数字,再转换为字符串。(也可以不转为字符串直接与‘G’相连)
23、select min(日期时间) from TableName 				--选择日期时间字段的最小值
24、update TableName  set 管道编号='D'&  CDbl(mid(管道编号,5)) & '-' & right(left(管道编号,2),1) & right(left(管道编号,4),1) where (left(管道编号,1)='0')
25、select avg(CH4) from TableName				--求字段的平均值
26、select stdev(CH4) from TableName			--求字段的标准差
27、select last(CH4) from TableName 			--求字段的最后一个值
28、select max(CH4) from TableName				--求字段的最值
29、alter table TableName alter column ID counter(10,1)		--ID字段为自增字段,初始值为10,步长为1(执行它之前,如果字段类型已经是自增字段了,那么必须先将此字段改为其它类型,比如int,然后再执行此sql。否则将出现"无效字段类型")
30、select * from SourceDataTable where 仪器编号 is null		--选择仪器编号字段某个数据为空的数据行
31、select * into a from b						--复制表b到表a
32、drop table TableName                                        --删除表 
分享