sql里日期怎么加减

author author     2023-03-23     688

关键词:

SQL里面怎么算能查出上周,上月,上年的时间

问题一:SELECT DATEDIFF( Day, '2008.08.25', '2008.09.01' )

问题二:SELECT DATEDIFF( Second, 2009-8-25 12:15:12', 2009-9-1 7:18:20') --返回相差秒数
或者
SELECT DATEDIFF( Minute, 2009-8-25 12:15:12', 2009-9-1 7:18:20') --返回相差分钟数
或者
SELECT DATEDIFF( Hour, 2009-8-25 12:15:12', 2009-9-1 7:18:20') --返回相差小时数

问题三:SELECT DATEDIFF( Day, 2009-8-25 12:15:12', 2009-9-1 7:18:20')

附:
DATEDIFF 函数使用说明:
返回跨两个指定日期的日期和时间边界数。

语法
DATEDIFF ( datepart , startdate , enddate )

参数
datepart

是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft�0�3 SQL Server�6�4 识别的日期部分和缩写。

日期部分 缩写
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

startdate

是计算的开始日期。startdate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。

因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。

如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049(默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。

enddate

是计算的终止日期。enddate 是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。

返回类型
integer

注释
startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。

当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23.647 秒。对于秒,最大数是 68 年。

计算跨分钟、秒和毫秒这些边界的方法,使得 DATEDIFF 给出的结果在全部数据类型中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。

示例
此示例确定在 pubs 数据库中标题发布日期和当前日期间的天数。

USE pubs
GO
SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days
FROM titles
GO
参考技术A 可以通过SELECT DATEADD(day, 相差天数, 日期) AS 别名 的格式来计算上周SELECT DATEADD(day, -7, 日期) AS 别名上月SELECT DATEADD(month, -1, 日期) AS 别名上年SELECT DATEADD(year, -1, 日期) AS 别名

sql查询中日期加减的问题

在leftjoin...on...中将一个日期对应的数据列和这个日期前一天对应的数据列匹配比如.....leftjoin.....ona.id=b.idanda.date=(b.date-1)大概就是括号里的意思,用昨天的数据,和今天的数据组成两列进行环比。我知道括号里格式不对,正确的... 查看详情

sql里怎么把日期截取为月份

参考技术A当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。只要您的数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间部分,情况就有点复杂了。在讨论... 查看详情

delphi程序里日期时间怎么控制

日期时间类型:TDateTime;本质是double,双精度类型;整数部分代表日期,小数部分代表时间数值为0时,代表12/30/189912:00am因为是double类型,日期调整可以直接以数值加减操作,具体控制有很多函数,都包含在Unit:DateUtils中函数... 查看详情

sql里怎么把日期截取为月份

参考技术A把日期截取为月份有以下几种办法:1、日期为日期格式,这种最简单,使用Month()函数即可获取月份,如:selectmonth(getdate())fromdual2、日期为yyyy-mm-dd格式的文本,这种情况下需要转换成日期格式再截取,如:selectTO_CHAR(to_d... 查看详情

sql时间加减

...提取!!参考技术A减5分钟selectgetdate(),dateadd(minute,-5,getdate())日期部分YearquarterMonthdayofyearDayWeekHourminutesecondmillisecond本回答被提问者和网友采纳 参考技术B语法DateDiff(interval,date1,date2[,firstdayofweek][,firstweekofyear])DateDiff(“m”,Now(),生产日... 查看详情

在vb里,如何将日期加减,得出天数?

例如:用“2007-6-17”-“date”其中被减数是一个日期,而减数是今天的日期。不胜感激!其实vb提供了一个计算两个日期相差的函数datediff,在实际应用之中我们可以进行日期相减运算,但是vb推荐的还是使用vb自己提供的内部函... 查看详情

sql里怎么把日期截取为月份

比如日期格式为2013-01-01我想要截取成月份201301保留年月忽略日去掉横杠要用什么方法谢谢1、首先我们需要找到一个带日期字段的数据表。2、接下来向表中插入日期值。3、然后我们通过month函数获取月份即可,注意month里添加的... 查看详情

sql根据一个字段日期加减7天存入另一字段中(代码片段)

加7天UPDATE表名SET所修改日期字段=DATE_ADD(固定日期字段,INTERVAL7DAY)WHERE条件~~~ UPDATE表名SETcretime=DATE_ADD(decdate,INTERVAL7DAY)WHERE条件~~~~ cretime为被修改的字段,decdate为所查询的时间字段加7天存入cretime时间字段中减7天UPDATE表名SET所... 查看详情

java里怎么自定义一个日期!

...ck e.printStackTrace(); 哪里错了?我的目的是想得到一个日期类型的!2楼的得到的是String的!在旧版本的jdk中,Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text.Simple... 查看详情

js日期加减(天数),时间加减,日期运算

根据传入的日期做加减法计算,整数为加法,负数为减法,但是是天。num可传入:1,2,3,-1,-2,-3等,默认是加一天;date可传入:2017-01-01格式的,不传的话默认是当天日期。functiondateChange(num=1,date=false)  i... 查看详情

js日期加减(天数),时间加减,日期运算

根据传入的日期做加减法计算,整数为加法,负数为减法,但是是天。num可传入:1,2,3,-1,-2,-3等,默认是加一天;date可传入:2017-01-01格式的,不传的话默认是当天日期。functiondateChange(num=1,date=false)  i... 查看详情

sql小于系统时间怎么写

sql小于等于日期大于等于日期_SQL中级第四关:复杂查询_weixin_3979370...sql运行顺序:1.先运行子查询;2.每个查询语句里运行顺序:①先运行from,where,groupby,having;②再运行select子句;③最后运行orderby,limit偶尔使用:打车——子查询(返回)多... 查看详情

mysql中日期的加减

我用jsp写程序的时候需要让用户在文本框中输入一个日期(假设是2008-03-11),但是我在执行算起来语句时,想让日期加一天,"SELECTcount(*)fromtablewhere time>='2008-03-12',应该怎么办?可以通过SELECTDATEADD(day,相差天... 查看详情

sql年月加减

...tepart(month,getdate())结果201405要加上8个月结果要等于201501该怎么处理呢?多谢参考技术Aselectconvert(varchar(6),dateadd(month,8,getdate()),112)本回答被提问者采纳 参考技术BSELECTadd_months(sysdate,8)fromdual;追问SQLSERVER的我的大神追答sorry当我没说 查看详情

javajava日期工具类(日期,月份加减等)(代码片段)

查看详情

日期加减

 Calendarcalendar=Calendar.getInstance();      calendar.setTime(newDate());      calendar.add(Calendar.DAY_OF_MONTH,-1);  &nb 查看详情

java日期计算,推荐使用calendar进行日期加减(代码片段)

Java日期计算,推荐使用Calendar进行日期加减Javacode:importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;/**timeadd*/publicstaticStringcalFullDate(Datedate,intyearNum,intmonthNum,intd 查看详情

postgresql日期加减

在PostgreSQL中可以直接对时间进行加减运算:、SELECTnow()::timestamp+‘1year‘; --当前时间加1年SELECTnow()::timestamp+‘1month‘; --当前时间加一个月SELECTnow()::timestamp+‘1day‘; --当前时间加一天SELECTnow()::timestamp+‘1hour‘;&nb 查看详情