怎么用sql查询昨天,今天,明天和本周的记录 SQL语句怎么查出上一周和上一月的记录

\u600e\u4e48\u7528SQL\u67e5\u8be2\u6628\u5929\uff0c\u4eca\u5929\uff0c\u660e\u5929\u548c\u672c\u5468\u7684\u8bb0\u5f55

\u4eca\u5929\uff1a
select * from TableName
where \u65e5\u671f\u5b57\u6bb5 =convert(varchar(10),getdate(),120);
\u6628\u5929(\u53bb\u9664\u65f6\u95f4\u7684\u51fd\u6570\uff0c\u53c2\u7167\u661f\u671f1~7)\uff1a
select * from TableName
where \u65e5\u671f\u5b57\u6bb5 = DATEADD( day,-1, convert(varchar(10),getdate(),120) );
\u661f\u671f1~7\uff1a
select * from TableName
where \u65e5\u671f\u5b57\u6bb5 >=
convert(varchar(10), DATEADD( day, 2 - DATEPART( dw,getdate()) , GETDATE() ),120)

and \u65e5\u671f\u5b57\u6bb5 <= convert(varchar(10), DATEADD( day, 8 - DATEPART( dw,getdate()) , GETDATE() ) ,120)

---\u67e5\u4e0a\u5468\u8bb0\u5f55 select * from \u4f60\u7684\u8868 where \u4f60\u7684\u65e5\u671f\u5b57\u6bb5 between dateadd(d,-7,getdate()) and getdate() --\u67e5\u4e0a\u6708\u8bb0\u5f55 select * from \u4f60\u7684\u8868 where convert(varchar(4),year(\u4f60\u7684\u65e5\u671f\u5b57\u6bb5))+convert(varchar(2),month(\u4f60\u7684\u65e5\u671f\u5b57\u6bb5))= convert(varchar(4),year(getdate()))+convert(varchar(2),month(getdate()))

工具/材料:Management Studio。 

1、首先在桌面上,点击“Management Studio”图标。 

2、之后在该界面中,点击左上角“新建查询”选项。 

3、接着在该界面中,输入昨天,今天,明天和本周的记录的sql语句“select * from test2 where time = DATEADD( day,-1, convert(varchar(10),getdate(),120) ); select * from test2 where time= DATEADD( day,0, convert(varchar(10),getdate(),120) ); select * from test2 where time> DATEADD( day,-6, convert(varchar(10),getdate(),120) );”。 

4、然后在该界面中,点击左上方“执行”按钮。 

5、最后在该界面中,显示昨天,今天,明天和本周的记录成功。



sql查询昨天,今天,明天和本周记录的方法

一、昨天,今天,明天和本周在SQL的处理中都是一个时间段,比如昨天指的就是昨天的:0点0分0秒到23点59分59秒。

二、例如表格:ygsrb 

三、查询昨天,今天,明天和本周的记录方法

1、查询今天的记录:

其中getdate()是系统当前的时间,因为它包含是小时、分钟等,所以先使用convert()函数从getdate()返回的时间截取日期部分。

①、convert(char(10),getdate(),120):返回当前时间的日期部分“2017-06-15”

②、convert(datetime,convert(char(10),getdate(),120)+' 00:00:00',120):把拼接好的时间 “2017-06-15 00:00:00”转换成datetime 数据类型。

2、查询昨天的记录:

与查询今天记录的语句不同的是,把getdate()换成了dateadd(dd,-1,getdate())

①、dateadd(dd,-1,getdate()):使用了dateadd函数,把当前的时间减一天。函数的参数DD指计算单位是天。

3、查询明天的记录:

明天和昨天刚好相反,昨天是今天的时间减一天,明天就是今天的时间加一天

dateadd(dd,1,getdate())

4、查询本周的的记录:

本周即所在周的周日到周六,那么就需要要获取周日和周六的时间。

①datepart(weekday,getdate()):使用datepart函数获取当前时间是周几。

比如当前是周四返回 5,因为周日是1,那么今天的时间减4天就是周日,即:dateadd(dd,- datepart(weekday,getdate()) + 1,getdate())

②周六则是7-5 = 2,今天的时间加两天,即:dateadd(dd,7 - datepart(weekday,getdate()),getdate())



SQL查询今天的记录:
datediff(day,[Datetime],getdate())=0 把Datetime换为你的相应字段;

SQL查询昨天的记录:
datediff(day,[Datetime],getdate())=1 把Datetime换为你的相应字段,getdate()-Datetime即为时间差。

本月记录:
SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0

本周记录:
SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0

本日记录:
SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0

一天
select * from T_news where datediff(day,addtime,getdate())=0

三天
select * from T_news where datediff(day,addtime,getdate())<= 2 and datediff(day,addtime,getdate())>= 0

一周
select * from T_news WHERE (DATEPART(wk, addtime) = DATEPART(wk, GETDATE())) AND (DATEPART(yy, addtime) = DATEPART(yy, GETDATE()))
注意:此时不能用 datediff 差值为7,因为,datediff只表示间隔数

一月
select * from T_news WHERE (DATEPART(yy, addtime) = DATEPART(yy, GETDATE())) AND (DATEPART(mm, addtime) = DATEPART(mm, GETDATE()))

一季度
select * from T_news where DATEPART(qq, addtime) = DATEPART(qq, GETDATE()) and DATEPART(yy, addtime) = DATEPART(yy, GETDATE())

一些自己的笔记分享给大家

查询当前这周的数据 
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now()); 

查询上周的数据 
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1; 

查询当前月份的数据 
select name,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m') 

查询距离当前现在6个月的数据 
select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now(); 

查询上个月的数据 
select name,submittime from enterprise where date_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m') 

select * from `user` where DATE_FORMAT(pudate,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m') ; 

select * from user where WEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = WEEKOFYEAR(now()) 

select * 
from user 
where MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now()) 

select * 
from [user] 
where YEAR(FROM_UNIXTIME(pudate,'%y-%m-%d')) = YEAR(now()) 
and MONTH(FROM_UNIXTIME(pudate,'%y-%m-%d')) = MONTH(now()) 

select * 
from [user] 
where pudate between 上月最后一天 
and 下月第一天


首先,用php获取今天的时间戳:
比如2017-04-18,获取00:00的时间戳和23:59的时间戳
查询语句where用时间字段查询,时间大于00:00时间戳并且小于23:59时间戳的所有记录是今天的。
明天和本周的方法,同上。

  • SQL 濡備綍鏌ヨ鏃ユ湡鍦ㄤ竴瀹氳寖鍥村唴鐨勬暟鎹
    绛旓細select * from 琛 where 鏃ユ湡瀛楁>='寮濮嬫棩鏈' and 鏃ユ湡瀛楁<='鎴鏃ユ湡' and convert(char(8),鏃ユ湡瀛楁,108)>='寮濮嬫椂闂' and convert(char(8),鏃ユ湡瀛楁,108)<='鎴鏃堕棿'銆係ELECT * FROM 琛ㄦ槑 WHERE 鏃ユ湡瀛楁鍚 BETWEEN '20130101' AND '20130130'銆備緥濡:select * from tb1 where dDat...
  • 濡備笅鍥,鍒╃敤SQL Server璇彞濡備綍鏌ヨ闄や簡浣滆呬腑鍖呭惈鈥滄槑鈥濆瓧鐨勫叾浠栨墍鏈...
    绛旓細閭d箞绗竴涓%鍖归厤 '鏄'瀛 鐒跺悗 [^鏄嶿 蹇呴』鍖归厤涓涓瓧锛屼笉绗﹀悎锛岃繖涓褰曚細杩囨护 鍖归厤鏃跺欙紝鏄椽濠殑锛屾墍浠 绗竴娆″皾璇曚細鍖归厤鎵鏈夛紝鍙戠幇[^鏄嶿娌℃湁鍖归厤鐨勶紝鍒欐斁寮冩渶鍚庝竴涓瓧绗︼紝缁х画鍖归厤 鎵浠ワ紝浣犺繖涓猯ike 璇彞鍙兘鍘绘帀鍙湁涓涓'鏄'鐨勮褰
  • Sql鎬庢牱鏌ヨ鍑虹敓鏃ユ湡鐩稿悓鐨勪汉骞舵樉绀哄嚭鏉? 鍙秹鍙婁竴寮犺〃,鍙湁涓ゅ垪:濮撳悕...
    绛旓細select t1.name ,t1.day ,t2.name from t t1,t t2 where t1.day=t2.day and t1.name!=t2.name;
  • SQL涓樉绀鏌ヨ缁撴灉鐨勫墠鍑犳潯璁板綍
    绛旓細鍦ㄤ娇鐢鏁版嵁搴鏌ヨ璇彞鐨勮繃绋嬩腑锛屾垜浠粡甯搁渶瑕佽繑鍥炴煡璇㈢粨鏋滅殑鍓嶅嚑鏉℃垨鑰呬腑闂村嚑鏉℃暟鎹紝涓嬮潰鏄垜鎬荤粨鐨勫嚑绉嶆暟鎹簱甯哥敤鐨勬柟娉曪細锛坱able鏄暟鎹簱琛ㄥ悕锛宼able2鏄痶able琛ㄧ殑鍒悕锛1銆丼QLServersqlserver鏀寔top鍏抽敭瀛楋紝杩斿洖鍓嶈嫢骞叉潯鏁版嵁銆俿elect top 5 * from table;// 杩斿洖鍓5琛屾暟鎹2銆丮ySQLmysql鏀寔limit锛屽彧...
  • 濡備綍鍦鍚屼竴涓〃涓,鐢╯ql鏌ヨ姣忎竴鏉℃暟鎹殑鍓嶅悗鍦ㄤ笁涓湀鍐呯殑鍏朵粬璁板綍_鐧...
    绛旓細1锛屽0鏄庝竴涓棩鏈熷瀷鍙橀噺 dim d as Date d = Format(Now, "YYYY-MM-DD")Print d - 90 '涓変釜鏈堝墠鐨勬棩鏈 Print d + 90 '涓変釜鏈堝悗鐨勬棩鏈 2锛孌im df as date Dim da as date df = d - 90 da = d + 90 3锛孲QL璇彞 Select * From 琛ㄥ悕 Where 鏃ユ湡 >= df...
  • SQL鏁版嵁搴 鍩烘湰鐨勬搷浣滆鍙(澧炪佸垹銆佹敼銆佹煡)
    绛旓細truncate table useInfo --鎶婅〃閲岀殑鎵鏈変俊鎭兘鍒犱簡锛岃屼笖鎶婃爣蹇楀垪鐨勬暟娓呴浂銆傚鏋滅敤delete鍒犻櫎琛ㄩ噷鐨勪俊鎭 鍒欎笉浼氭妸鏍囪瘑鍒楁竻闆躲俿elect * from useInfo --鏌ヨuseInfo琛ㄩ噷鐨勬墍鏈変俊鎭 * 琛ㄧず鎵鏈 select 1 from useInfo where useName = '澶ф槑' --鎸夋潯浠鏌ヨ锛屾煡璇琛ㄩ噷鍚嶅瓧鍙ぇ鏄庣殑浜虹殑淇℃伅 ...
  • 涓よ〃鍏宠仈鏌ヨSQL璇彞鐨,瑕鎬庝箞鍐?
    绛旓細1銆佸垱寤烘祴璇曡〃锛沜reate table company(companyId number, companyName varchar2(20), contacts varchar2(20));create table users(userId number, companyId number, userName varchar2(20), userAge number, address varchar2(20));2銆佹彃鍏ユ祴璇曟暟鎹紱insert into company values (1,'鑵捐绉戞妧','...
  • 鍦╯ql璇彞涓,like鎵鏈夌殑鐢ㄦ硶
    绛旓細select * from table1 where name like '*鏄*'select * from table1 where name like '%鏄%'澶у浼氱湅鍒帮紝鍓嶄竴鏉¤鍙ュ垪鍑烘潵鐨勬槸鎵鏈夌殑璁板綍锛岃屽悗涓鏉¤褰曞垪鍑烘潵鐨勬槸name瀛楁涓惈鏈夆滄槑鈥濈殑璁板綍锛屾墍浠ヨ锛屽綋鎴戜滑浣滃瓧绗﹀瀷瀛楁鍖呭惈涓涓瓙涓茬殑鏌ヨ鏃舵渶濂介噰鐢ㄢ%鈥濊屼笉鐢ㄢ*鈥,鐢ㄢ*鈥濈殑鏃跺欏彧鍦...
  • SQL濡備綍鏌ヨ涓涓簱涓墍鏈夊惈鏈夋煇鍒楁槑鐨勮〃?
    绛旓細鍙敤濡備笅璇彞锛歶se 搴撳悕select distinct t1.name from sysobjects t1,syscolumns t2 where t1.id=t2.id and t2.name like '%name%'缁撴灉濡傚浘锛屾樉绀虹殑灏辨槸鍖呭惈name杩欎釜瀛楃涓茬殑琛ㄥ悕
  • sql涓鎬庝箞鏌ヨ琛ㄤ腑鎵鏈変笉鍚屾棩鏈熺殑鍗,璇ユ庝箞鍐.
    绛旓細select top(1) * from table where id = (select * from table where time<'2010-02-28' order by time desc)杩欐牱灏卞彲浠ヤ簡銆傞鍏堟煡鍑烘墍鏈夊皬浜'2010-02-28' 杩欎釜鏃堕棿鐨勫崟瀛愶紝鐒跺悗鍊掑彊鎺掑垪銆傝繖鏍锋瘮'2010-02-16'杩欎釜鍗曞瓙灏辨帓鍦ㄧ涓浜嗐傜劧鍚庡湪鍙栫涓寮犲崟瀛愩備篃灏辨槸'2010-02-16'浜嗐
  • 扩展阅读:sql时间格式yyyymmdd ... sql查询时间为今天的 ... 一对多查询 ... sql查询最新的一条记录 ... 一键查询 ... 查询系统时间的sql ... sql 查询同一天的 ... sql今天的日期怎么表示 ... sql日期区间查询 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网