使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串
取某月天数:select day(dateadd(month,,'2012-02-01')-)
--当月天数
select day(dateadd(ms,-,DATEADD(m, DATEDIFF(m,,getdate())+,)))
---当月第一天
select dateadd(d,-day(getdate())+,getdate())
---当月最后一天
select dateadd(d,-,dateadd(m,,dateadd(d,-day(getdate())+,getdate()) ))
--本年最后一天
select dateadd(d,-day(getdate()),dateadd(m,,getdate()))
--当月第一个星期一
SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, - DAY(getdate()), getdate())), '')
SQL Server 日期算法:
本月的第一天:
select dateadd(mm,datediff(mm,,getdate()),)
本周的星期一:
select dateadd(wk,datediff(wk,,getdate()),)
一年的第一天:
select DATEADD(yy, DATEDIFF(yy,,getdate()), )
季度的第一天:
SELECT DATEADD(qq, DATEDIFF(qq,,getdate()), )
当天的零时:
SELECT DATEADD(dd, DATEDIFF(dd,,getdate()), )
上个月的最后一天:
本月第一天减2ms.
SELECT dateadd(ms,-2,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))
本月的最后一天:
SELECT dateadd(ms,-2,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))
本月的第一个星期一去掉时分秒:
DATEADD(day, DATEDIFF(day,,getdate()), )
显示星期几:
select datename(weekday,getdate())
如何取得某个月的天数:
SELECT Day(dateadd(ms,-,DATEADD(mm, DATEDIFF(m,,getdate())+, )))
判断是否闰年:
SELECT caseday(dateadd(mm, , dateadd(ms,-,DATEADD(yy, DATEDIFF(yy,,getdate()), )))) when28then'平年'else'闰年'end
一个季度多少天:
declare@mtinyint,@timesmalldatetimeselect@m=month(getdate()) select @m=case when @mbetween and then when @m between and then when @m between and then else endselect @time=datename(year,getdate())+'-'+convert(varchar(),@m)+'-01' select datediff(day,@time,dateadd(mm,,@time)) --A. 季度的第一天
SELECT CONVERT(datetime, CONVERT(char(), DATEADD(Month, DATEPART(Quarter,@dt)*-Month(@dt)-, @dt),)+'') --B. 季度的最后一天(CASE判断法)
SELECT CONVERT(datetime,CONVERT(char(),DATEADD(Month, DATEPART(Quarter,@dt)*-Month(@dt), @dt),) +CASE WHEN DATEPART(Quarter,@dt) in(,) THEN ''ELSE '' END)
--C. 季度的最后一天(直接推算法)
SELECT DATEADD(Day,-,CONVERT(char(),DATEADD(Month,+DATEPART(Quarter,@dt)*-Month(@dt), @dt),)+'') 一、sql server日期时间函数
. 当前系统日期、时间 select getdate()
. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
例如:向日期加上2天
select dateadd(day,,'2004-10-15') --返回:-- ::00.000
. datediff 返回跨两个指定日期的日期和时间边界数
select datediff(day,'2004-09-01','2004-09-18') --返回:
. datepart 返回代表指定日期的指定日期部分的整数。
select DATEPART(month, '2004-10-15') --返回
. datename 返回代表指定日期的指定日期部分的字符串
select datename(weekday, '2004-10-15') --返回:星期五
. day(), month(),year() --可以与datepart对照一下
select 当前日期=convert(varchar(),getdate(),) ,当前时间=convert(varchar(),getdate(),)
select datename(dw,'2004-10-15')
select 本年第多少周=datename(week,'2004-10-15') ,今天是周几=datename(weekday,'2004-10-15') 二、日期格式转换
Select CONVERT(varchar(), GETDATE(), ): :57AM
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 06.05.
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 16.05.
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): ,
Select CONVERT(varchar(), GETDATE(), ): ::
Select CONVERT(varchar(), GETDATE(), ): :::827AM
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): -- ::
Select CONVERT(varchar(), GETDATE(), ): -- ::47.157
Select CONVERT(varchar(), GETDATE(), ): // :: AM
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ): ::
Select CONVERT(varchar(), GETDATE(), ): -- ::47.250
Select CONVERT(varchar(), GETDATE(), ): :57AM
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 2006.05.
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ): 16.05.
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): ,
Select CONVERT(varchar(), GETDATE(), ): ::
Select CONVERT(varchar(), GETDATE(), ): :::437AM
Select CONVERT(varchar(), GETDATE(), ): --
Select CONVERT(varchar(), GETDATE(), ): //
Select CONVERT(varchar(), GETDATE(), ):
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): :::
Select CONVERT(varchar(), GETDATE(), ): -- ::
Select CONVERT(varchar(), GETDATE(), ): -- ::49.700
Select CONVERT(varchar(), GETDATE(), ): --16T10::49.827
Select CONVERT(varchar(), GETDATE(), ): ???? ?????? :::907AM 函数参数/功能
GetDate( )
返回系统目前的日期与时间
DateDiff (interval,date1,date2)
以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1DateAdd (interval,number,date)
以interval指定的方式,加上number之后的日期DatePart (interval,date)返回日期date中,interval指定部分所对应的整数值DateName (interval,date)返回日期date中,interval指定部分所对应的字符串名称 参数 interval的设定值如下:
值缩 写(Sql Server)Access 和 ASP说明:
YearYyyyyy年 ~ 9999
QuarterQqq 季 ~ 4
MonthMmm 月1 ~ 12
Day of yearDyy 一年的日数,一年中的第几日 -366
DayDdd 日,-31
WeekdayDww一周的日数,一周中的第几日 -7
WeekWkww 周,一年中的第几周 ~ 51
HourHhh 时0 ~ 23
MinuteMin 分钟0 ~ 59
SecondSss秒 ~ 59
MillisecondMs-毫秒 ~
使用SQL语句查询日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串的更多相关文章
- 使用sql语句查询日期在一定时间内的数据
使用sql语句查询日期在一周内的数据 select * from ShopOrder where datediff(week,ordTime,getdate()-1)=0 //查询当天日期在一周年 ...
- sql语句查询
1. sql语句查询某位数字或者某几位数字开头的数据,字段类型为数字类: %’: 2. sql搜索以4开头和含有李字的数据: select * from wlzbpre_user where real ...
- phpcmsv9自定义sql语句查询模型实现
在phpcmsv9中,自定义sql语句查询可不太好实现,传入sql语句查询很容易被内部转入生成一系列莫名其妙的sql语句,比如最佳前缀等等,直接造成sql语句查询错误,在此也提供两种解决办法,1修改底 ...
- 怎样用SQL语句查询一个数据库中的所有表?
怎样用SQL语句查询一个数据库中的所有表? --读取库中的所有表名 select name from sysobjects where xtype='u'--读取指定表的所有列名select nam ...
- SQL语句查询某表的所有字段及数据类型
SQL语句查询某表的所有字段及数据类型 SELECT name AS column_name , TYPE_NAME(system_type_id) AS column_type , max_leng ...
- sql语句查询数据库表结构信息
开发中经常用到查询指定表及其字段的信息,以下是我整理的SQL语句查询方法,供自己平时使用也提供给大家参考! 1.适用MS SQL SERVER: SELECT 表名 = then d.name els ...
- 如何用SQL语句查询Excel数据?
如何用SQL语句查询Excel数据?Q:如何用SQL语句查询Excel数据? A:下列语句可在SQL SERVER中查询Excel工作表中的数据. 2007和2010版本: SELECT*FROMOp ...
- 怎么用sql语句查询一个数据库有多少张表
今天在技术群中闲谈时忽然聊到一个问题,那就是当一个数据库中有多张表时怎么快速的获取到表的个数,从而给问询者一个准确的回答. 大家或许会说,这个问题和我们的数据库操作没有太大关系或者不是很挂钩,所以没意 ...
- SQL语句查询数据库的触发器、存储过程、视图以及表的SQL语句
Sql Server数据库用SQL语句查询方法如下: select name from sysobjects where xtype='TR' --所有触发器 select name from sys ...
- mysql统计类似SQL语句查询次数
mysql统计类似SQL语句查询次数 vc-mysql-sniffer 工具抓取的sql分析. 1.先用shell脚本把所有enter符号替换为null,再根据语句前后的字符分隔语句 grep -Ev ...
随机推荐
- SpringMVC中使用Interceptor拦截器
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理.比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那 ...
- 文件编码、charset、sublime编辑器支持GBK等问题
问题一:如何让sublime3支持GBK 首先打开package control ,然后键入install package进入,搜索ConvertToUTF8安装成功后 打开要查看的GBK文件,点击菜 ...
- vmware克隆虚拟机后配置网络
一件配置: rm -rf /etc/udev/rules.d/70-persistent-net.rules cd /etc/sysconfig/network-scriptsrm -rf ifcfg ...
- navicat使用
navicat我觉得做程序的基本上都会用,它方便,快捷,直观等,优点很多,这也是我写这篇文章的原因.以前我基本上都是用phpmyadmin,也挺好用,不过也有不少缺点,比如数据库备份文件太大,根本 ...
- shFlags简介
看到有脚本中使用了shFlags,于是google了一下,发现还是个挺方便的东西. https://github.com/kward/shflags/wiki/Documentation12x sha ...
- DB Connection String
SQL: Data Source=APGZDB04;Initial Catalog=ChinaEDI;Persist Security Info=True;User ID=edi_ac;Passwor ...
- java面试问题整理-垃圾回收
对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址.大小以及使用情况.通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象,通过这种方式确定哪些对象是"可达的" ...
- MySQL 主从配置
mysql主从复制指两个服务器之间数据库的同步,当主服务器的数据进行了变更,从服务器也会自动更新,其过程是通过bin-log日志实现的,本质是binlog日志的传输. mysql主从分两个角色 1.主 ...
- session过期时间
在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户没有使用系统一定时间后,自动退出登录,销毁session. 具体设置很简单: 在主页面或者公共页面中加入:session.set ...
- iOS中的线程安全问题
为了保证线程安全,不会因为多个线程访问造成资源抢夺,出现的运行结果的偏差问题,我们需要使用到线程同步技术,最常用的就是 @synchronized互斥锁(同步锁).NSLock.dispatch_se ...