sql日期

SQL 常用的计算时间的方法

允我心安 提交于 2019-11-26 21:50:14
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。你可以通过@@DATEFIRST函数来检查第一天设置。 为了理解这些例子,我们先复习一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。要了解更多的DATEDIFF和DATEADD函数以及时间间隔可以阅读微软联机帮助。 使用DATEDIFF和DATEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同

Oracle 单行函数

我是研究僧i 提交于 2019-11-26 20:34:05
一、什么是函数 任何东西,只要它能接收输入,对输入进行加工并产生输出,它就可以被称为函数。 二、单行函数简介 单行函数只对表中的一行数据进行操作,并且对每一行数据只产生一个输出结果。单行函数可以接受一个或多个参数,其产生的输出结果的数据类型可能与参数的数据类型不同。 单行函数包含: 1.字符型 2.数字型 3.日期型 4.转换型 5.一般型函数 三、单行字符型函数 常用的字符型函数包括: LOWER、UPPER、INITCAP、CONCAT、SUBSTR、LENGTH、INSTR、TRIM、REPLACE 1.LOWER(列名|表达式):该函数是把字符转换成小写。 SQL > select LOWER ( ' SQL: Structural Query Language ' ) 2 from dual; LOWER ( ' SQL:STRUCTURALQUERYLANG ------------------------------ sql: structural query language 2.UPPER(列名|表达式):该函数是把字符转换成大写。 SQL > select upper ( ' sql is used exclusively in rdbmses ' ) 2 from dual; UPPER ( ' SQLISUSEDEXCLUSIVELYINRDBMS ----

[转]使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串...

好久不见. 提交于 2019-11-26 17:22:56
取某月天数:select day(dateadd(month,1,'2012-02-01')-1) --当月天数 select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) ---当月第一天 select dateadd(d,-day(getdate())+1,getdate()) ---当月最后一天 select dateadd(d,-day(getdate()),dateadd(m,1,getdate())) select dateadd(d,-1,dateadd(m,1,dateadd(d,-day(getdate())+1,getdate()) )) --本年最后一天 select dateadd(d,-day(getdate()),dateadd(m,12,getdate())) --当月第一个星期一 SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '') 补充: SQL Server 日期算法一周的第一天: 一个月的第一天: select dateadd(mm,datediff(mm,0,getdate()),0) 本周的星期一: select dateadd(wk,datediff

[转]使用SQL语句取相关日期(当月天数,当月第一天,当月最后一天,本年最后一天,当月第一个星期) 日期转字符串...

*爱你&永不变心* 提交于 2019-11-26 17:22:49
取某月天数:select day(dateadd(month,1,'2012-02-01')-1) --当月天数 select day(dateadd(ms,-3,DATEADD(m, DATEDIFF(m,0,getdate())+1,0))) ---当月第一天 select dateadd(d,-day(getdate())+1,getdate()) ---当月最后一天 select dateadd(d,-day(getdate()),dateadd(m,1,getdate())) select dateadd(d,-1,dateadd(m,1,dateadd(d,-day(getdate())+1,getdate()) )) --本年最后一天 select dateadd(d,-day(getdate()),dateadd(m,12,getdate())) --当月第一个星期一 SELECT DATEADD(wk, DATEDIFF(wk, '', DATEADD(dd, 6 - DAY(getdate()), getdate())), '') 补充: SQL Server 日期算法一周的第一天: 一个月的第一天: select dateadd(mm,datediff(mm,0,getdate()),0) 本周的星期一: select dateadd(wk,datediff

PLSQL常用函数(ORACLE)(2)

喜欢而已 提交于 2019-11-26 16:43:35
---------------------------------------------------------------------------------------------------------- 1、Dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值。 语法 :DATEADD(datepart,number,date) 参数 datepart 是规定应向日期的哪一部分返回新值的参数。下表列出了识别的日期部分和缩写。 日期部分 缩写 Year yy, yyyy quarter qq, q Month mm, m dayofyear dy, y Day dd, d Week wk, ww Hour hh minute mi, n second ss, s millisecond ms number 是用来增加datepart的值。如果指定一个不是整数的值,则将废弃此值的小数部分。 例如,如果为datepart指定day,为number指定1.75,则date将增加1。 date 是返回datetime或smalldatetime值或日期格式字符串的表达式。有关指定日期的更多信息,请参见datetime和smalldatetime。 如果您只指定nian份的最后两位数字,则小于或等于"两位数nian份截止期