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 table1 where year(d)=2010 and month(d)=7 and day(d) between 1 and 31
and (Datepart(hour,d)>=22 or Datepart(hour,d)<6)
扩展资料:
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
参考资料:
数据库日期查询方法:1、选中桌面PLSQL,Developer工具。
2、输入登录信息,进行登录。
3、在工具中新建一个SQL窗口。
4、日期createdatetime,日期型字段类型如下。
5、输入语句,从表table123进行查询。
6、点击查询按钮,进行查询 *** 作即可。
MsSql数据库可以这样写
select from news where datediff(day,[time],'2007-03-15')=0
Access可以这样写
select from news where datediff('d',[time],'2007-3-9')=0
以上计算的是 天
如果要改成单位是 月
则
Sql 为 datediff(month,[time],'2007-03-15')=0
Access 为 datediff('m',[time],'2007-3-9')=0
datetime类型:可用于需要同时包含日期和时间信息的值。
datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。
DateTime日期和时间部分,可以表示1753年1月1日00:00:00000到9999年12月31日23:59:59997之间的日期范围,精确到333ms,它需要8字节的存储空间,其中前4字节用于存储1900年1月1日之前或之后的天数。该值分为正数和负数,正数表示此日期之后的天数,负数表示此日期之前的天数;最后4个字节用于存储从零开始指定的时间之后的毫秒数。
不是。sql日期函数中的日期类型报包括:date是只存储年月日,datetime是存储年月日时分秒毫秒,dataetime2的时间范围则更广,不是只有年月是日期公式的。SQL是具有数据 *** 纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点。
显示的格式:年-月-日小时:分钟:秒
相关时间参数:
a-"am"或是"pm"
A-"AM"或是"PM"
d-几日,二位数字,若不足二位则前面补零;如:"01"至"31"
D-星期几,三个英文字母;如:"Fri"
F-月份,英文全名;如:"January"
h-12小时制的小时;如:"01"至"12"
H-24小时制的小时;如:"00"至"23"
g-12小时制的小时,不足二位不补零;如:"1"至12"
G-24小时制的小时,不足二位不补零;如:"0"至"23"
i-分钟;如:"00"至"59"
j-几日,二位数字,若不足二位不补零;如:"1"至"31"
l-星期几,英文全名;如:"Friday"
m-月份,二位数字,若不足二位则在前面补零;如:"01"至"12"
n-月份,二位数字,若不足二位则不补零;如:"1"至"12"
M-月份,三个英文字母;如:"Jan"
s-秒;如:"00"至"59"
S-字尾加英文序数,二个英文字母;如:"th","nd"
t-指定月份的天数;如:"28"至"31"
U-总秒数
w-数字型的星期几,如:"0"(星期日)至"6"(星期六)
Y-年,四位数字;如:"1999"
y-年,二位数字;如:"99"
z-一年中的第几天;如:"0"至"365"
可以自由设定显示的内容,连接符号或是显示位置,例如date("m-dH")或者date("dmY");>等
php中的日期处理
加入时间:2004-12-1817:35:22大小:12KB阅读次数:1405
PHP中的日期处理
转贴:xiaxia日期:2004-05-26人气:9
我正打算用PHP编写一种帮助处理系统。我发现我必须知道处理完最后一位客户的问题后已经过去了多长时间?当我过去用ASP时解决这个问题相当简单,ASP有相应的函数DateDiff可以给出两个日期间间隔多少月、多少天和多少秒。当我搜寻完PHP手册后我发现PHP并没有类似的函数。
本文包含以下内容:
1、得到目前的日期和时间-我们有多少种方式
2、改变日期显示的方式-日期和时间的显示形式
3、转换现在的日期为Unix的时间戳值
4、改变日期
a增加时间
b减去时间
c找出两日期之间的间隔
5、为PHP添加DateAdd函数
6、为PHP添加DateDiff函数
得到目前的日期和时间
在Unix中,时间的表示方式为计算从1970年1月1日零时起所过去的秒数,这称为UNIX时间戳(UnixEpoch)。
如果我们有这样一段的代码:
echotime();
将返回值958905820
而此时的时间为2000年5月21日12时43分。
你也许会说这相当不错。当这对我毫无帮助,或者只有一点帮助。在PHP中,对日期处理的函数都必须用到由time()返回的时间戳值。同时,由于PHP在Unix和Windows系统中均使用同样的时间戳值,这就允许你不需要修改代码即可在不同的系统间移植。另外的一个好处是time()函数返回的是一个整数,你可以将其作为整数字段或文本字段存入数据库,而不必使用特别的日期/时间字段。
你已经基本了解了Unix的时间戳值,现在让我们来展示它的实际用途。
改变日期显示的方式-日期和时间的显示形式
PHP提供两个办法来将Unix的时间戳值转换成为有用的数据。第一个是date()函数。这个函数有两个参数-第一个字符串用于设定你所希望返回的格式,第二个为Unix的时间戳值。
格式化字符串通过一些简单的特殊格式化字符来显示你所希望看到的格式的日期和时间。假设你希望日期以这样的格式显示“18h01Sunday21May”。
我们需要对字符串中的每一部分使用一个特殊格式化字符,你可以从PHP手册中日期和时间函数库中找到。这样的特殊格式化字符数量不少,他们所表示的类似于星期几、月的英文名、用2位或4位数表示的年份,是否是上午(AM)或下午(PM)以及其他。对于这个例子我们需要的特殊字符为:
‘H’-24小时制的小时
‘i’-分钟
‘l’-星期几的英文全名
‘d’-本月的第几日
‘F’-月份的英文全名
因此我们的格式化字符串为”HhildF”,PHP代码为:
echodate("HhildF",time());
当我们执行这段代码,我们发现我们所得到的结果为:
180609Sunday21May
这样的结果看起来有些奇怪。让我们再查一下PHP手册,原来’h’所代表的是12小时制的小时数。这再次证明了一句真理:“计算机只做你所告诉它该做的,而不是你想要它做的”。我们有两个选择。第一个是在h前使用转义字符“”:
echodate("HhildF",time());
我们得到这样的结果:
18h12Sunday21May
这正是我们所要的。但如果我们在一个十分复杂的句子中需要包含日期和时间,我们是否需要对每个字符使用转义字符
答案当然是不。我们使用另一个函数strftime()。
strftime()有两个好处。第一个好处我们并不在本文讨论范围内-如果你使用setlocale()函数,你可以通过strftime得到相应语言的月份的名称。另外的一个好处是你可以将特别的日期和时间的格式化字符包含在你的字符串中。这同时也意味着无论你是否要学习date()函数的所有特殊格式化字符,你都必须学习一整套完全不同的格式化字符。
strftime()工作的方式和date()没有什么不同,除了特殊格式化字符的前面必须添加一个百分号%。如果用strftime()函数,前面例子的代码如下:
echostrftime("%Hh%M%A%d%b",time());
结果为:
18h24Sunday21May
这也许看起来将简化繁,但考虑一下如果你所需要的显示的为"TodayisSunday21May2000Thetimeissomewherecloseto18h24"我想使用date()函数无疑令人感到厌烦。
在开始的时候,我提及我们有两种方式可以从Unix时间戳值中得到有用的数据。我们刚刚了解了date()和strftime()。另一个getdate()。这个函数只需要Unix的时间戳值作为参数,而函数的返回值为日期和时间的数组
以上就是关于SQL 如何查询日期在一定范围内的数据全部的内容,包括:SQL 如何查询日期在一定范围内的数据、数据库日期查询、请把我写一句sql的查询语句,即查询包含某一日期(如2007年3月份)的语句(数据表中有一个日期字段)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)