sql查询日期
A. sql 查询日期 语句
select format(cdate,'yyyy-MM-dd'),count(*) as num from tablename group by format(cdate,'yyyy-MM-dd')
B. SQL语句查询特定时间段的数据怎么写
SQL服务器:
Select*fromtablewhere'2008-7-1'和'2008-12-31'
访问:
从表中选择发生日期>#2008-7-1#和发生日期<#2008-12-31#
就是这样:注意,SQLserver中的日期和访问有一点不同。
(2)sql查询日期扩展阅读:
SQL查询日期语句
Select*fromShopOrderwheredatediff(week,ordTime,getdate()-1)=0//查询第一年的日期
Select*fromShopOrder,其中datediff(day,ordTime,getdate()-1)=0//查询当天的所有数据
SELECT * FROM A where datediff(d,datetime,getdate()) <=30 //前30天
SELECT * FROM A WHERE DATEDIFF(m, shijian, GETDATE()) <=1 //上个月
搜索当天记录的其他方法:
SELECT*
FROMj_GradeShop
其中(GAddTimeBETWEENCONVERT(datetime,LEFT(GETDATE(),10)+'00:00:00.000'))
并转换(datetime,LEFT(GETDATE(),10)+'00:00:00.00.000')+1)
由GAddTime指定的订单
C. SQL查询日期的年份
要返回正确的记录,你需要适用日期和时间范围。有不止一种途径可以做到这一点。例如,下面的这个SELECT 语句将能返回正确的记录: SELECT * FROM weblog WHERE entrydate>=”12/25/2000” AND entrydate<”12/26/2000” 这个语句可以完成任务,因为它选取的是表中的日期和时间大于等于12/25/2000 12:00:00:000AM并小于12/26/2000 12:00:00:000AM的记录。换句话说,它将正确地返回2000年圣诞节这一天输入的每一条记录。 另一种方法是,你可以使用LIKE来返回正确的记录。通过在日期表达式中包含通配符“%”,你可以匹配一个特定日期的所有时间。这里有一个例子: SELECT * FROM weblog WHERE entrydate LIKE ‘Dec 25 2000%’ 这个语句可以匹配正确的记录。因为通配符“%”代表了任何时间。
D. sql如何按日期中的月份查询
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')
(4)sql查询日期扩展阅读:
相关函数
SQL Aggregate 函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
有用的 Aggregate 函数:
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
SQL Scalar 函数
SQL Scalar 函数基于输入值,返回一个单一的值。
有用的 Scalar 函数:
UCASE() - 将某个字段转换为大写
LCASE() - 将某个字段转换为小写
MID() - 从某个文本字段提取字符
LEN() - 返回某个文本字段的长度
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
NOW() - 返回当前的系统日期和时间
E. sql 根据日期查询
不知道你什么数据库
sqlserver的
只做参考,因为没有处理各个月的天数,只是默认每一个月都是30天
如果你要精确的,只能自己建立基础维护表来关联了
selectnumberasid,t2.cont
frommaster..spt_valuest1leftjoin(selecttime,sum(price)cont
fromtest
groupbytime)t2ont1.number=day(t2.time)
wheret1.type='P'
ANDt1.numberbetween1and30
F. sql server 日期范围查询
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'
或者:
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN CONVERT(datetime,'2013-01-01',120) AND CONVERT(datetime,'2013-01-30',120)
(6)sql查询日期扩展阅读:
注意事项
在写按时间段查询的sql语句的时候 一般我们会这么写查询条件:
where date>='2010-01-01' and date<='2010-10-1'。
但是在实执行Sql时些语句会转换成这样:
where date>='2010-01-01 0:00:00' and date<='2010-10-1:0:00:00',再看这个条件的话,就会有些明白,那就是'2010-10-1 0:00:00' 之后的数据例如('2010-10-1:08:25:00')查不到,也就是说2010-10-1的数据查不到。
修改查询条件为:
where date>='2010-01-01' and date<='2010-10-1 23:59:59' 或 where date>='2010-01-01' and date<='2010-10-2'。
某个表某个字段是Datetime型 以"YYYY-MM-DD 00:00:00" 存放
G. SQL 日期型查询
CaseSql="where month(开始日期)="&month(Request("开始日期"))&" and day(开始日期)>=1 and day(开始日期)<="&day(Request("开始日期"))
或者如果不用日期的,只用月份的
“where month(开始日期)=”&month(Request("开始日期"))
H. 用SQL语言怎样查询带日期的数据
SQL SERVER 这么写:
SELECT
*
FROM
图书表
WHERE
YEAR( 出版日期 ) = 2010
Oracle 这么写:
SELECT
*
FROM
图书表
WHERE
TO_CHAR( 出版日期, 'YYYY' ) = '2010'
I. SQL中查询日期语句
SQL SERVER:
用函数datepart处理就可以了,示例:
select datepart(weekday,getdate()) as 周内的第几日
select datepart(week,getdate()) as 年内的第几周
select datepart(quarter,getdate()) as 年内的第几季
周内的第几日
-----------
5
(所影响的行数为 1 行)
年内的第几周
-----------
34
(所影响的行数为 1 行)
年内的第几季
-----------
3
(所影响的行数为 1 行)
J. SQL 如何查询日期在一定范围内的数据
select * from 表 where 日期字段>='开始日期' and 日期字段<='截止日期' and convert(char(8),日期字段,108)>='开始时间' and convert(char(8),日期字段,108)<='截止时间'。
SELECT * FROM 表明 WHERE 日期字段名 BETWEEN '20130101' AND '20130130'。
例如:
select * from tb1 where dDate>='2010-11-05' and dDate<='2010-11-15'
and convert(char(8),dDate,108)>='8:00:00' and convert(char(8),dDate,108)<='9:00:00'.
select * from table1where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
(10)sql查询日期扩展阅读:
SQL查询日期:
今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0
昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1
7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7
30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30
本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0
本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0
参考资料:SQL_网络