求助:SQL *** 作orcal数据库 根据date时间查询数据

求助:SQL *** 作orcal数据库 根据date时间查询数据,第1张

str = " select AA,BB,CC from DATA01 where ID='00123'
and to_char(LOCATETIME,'yyyy-mm-dd hh24:mi:ss')>=' "+StartTime+" '
and to_char(LOCATETIME,'yyyy-mm-dd hh24:mi:ss')<=' "+EndTime " ' ";
字符类型的值要用 单引号 括起来

下面以比较流行的mysql图形化管理工具Navicat为例,其他工具或者在命令行中以及编程语言中 *** 作时的执行的sql语句是一样的。

1、假设在数据库中有一个名为testtest的表格,表格内容如下图所示,表中有三条记录是9月份的

2、打开一个查询窗口,输入查询语句select from testtest where month(date)='9';,该语句表示查询testtest表格中9月份的记录

3、点击“运行”执行该sql语句,在下方可以看到已经查询到了9月份的三条记录

4、如需按年查询可输入select from testtest where year(date)='2017';,2017代表需要查询的年份。如下图所示只查询到了一条记录是2017年的

sql按日期中的月份查询如下:

SQL Server

select from [data] where  DATEPART(m,[date])=2

Access

select from [data] where  DATEPART('m',[date])=2

说明:

DATEPART(datepart,date)

返回表示指定日期的指定部分的整数

datepart 要取得的日期部分

- m 表示月份,d表示日,yyyy表示年

date 日期表达式

举例:

--以2013-12-10 12:56:55为例

--convert(nvarchar(10),CreateDate,120)      =>      2013-12-10

--DATEPART(month,CreateDate)      =>      12

--DATEPART(year,CreateDate)      =>      2013

--月

select datepart(MONTH,'2013-06-08')

select datepart(mm,'2013-06-08')

select datepart(m,'2013-06-08')

扩展资料:

相关函数

SQL Aggregate 函数

SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。

有用的 Aggregate 函数:

AVG() - 返回平均值

COUNT() - 返回行数

FIRST() - 返回第一个记录的值

LAST() - 返回最后一个记录的值

MAX() - 返回最大值

MIN() - 返回最小值

SUM() - 返回总和

SQL Scalar 函数

SQL Scalar 函数基于输入值,返回一个单一的值。

有用的 Scalar 函数:

UCASE() - 将某个字段转换为大写

LCASE() - 将某个字段转换为小写

MID() - 从某个文本字段提取字符

LEN() - 返回某个文本字段的长度

ROUND() - 对某个数值字段进行指定小数位数的四舍五入

NOW() - 返回当前的系统日期和时间

使用mysql的日期函数吧:
select from A where DATE(data) = '2012-07-09';
这个可以准确的查询到79号这天的数据,而且效率很高。

寻找文件 这个命令可以查找文件或目录,只是注意欲寻找文件的属性值就行了,你寻找文件至少也得从一个盘符开始的,如果不指定则可以逐一盘符开始寻找。注意一下,比如你查找C盘,其下除了文件外还有A目录、B目录等,得分别进入相应的目录再次查找,如此一直循环遍历所有目录进行查找,很费时哟,如果不指定目录。你每查找一个文件夹就得到当前路径的了!

表a为入库表\x0d\表b为出库表\x0d\它们都有一个日期字段 mkrdat,货号为 goodsid,数量字段为qty\x0d\那么两张表的组合方式可以这样\x0d\\x0d\select goodsid,qty ,mkrdat from \x0d\(select goodsid,qty ,mkrdat from a where goodsid ='查询货号union all\x0d\select goodsid,qty ,mkrdat from b where goodsid ='查询货号'\x0d\ )\x0d\aa order by goodsid,mkrdat

select from ms_cf01 a where akfrq between to_date('20100101 180000','yyyymmdd hh24miss')
and to_date('20101231 180000','yyyymmdd hh24miss')
and to_char(akfrq,'hh24miss') between '180000' and '240000'
主要用到 to_char,to_date对时间字段的转换方法,具体使用方法可baidu
如果这么查询,主要是第2个条件无法用上索引,所以最好的方式是在涉及表的时候将该字段拆成2个字段 日期 ,时间,并用整形表示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12698778.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存