Sybase日期函数
日期函数
getdate()
得到当前时间,可以设置得到各种时间格式.
datepart(日期部分,日期)
取指定时间的某一个部分,年月天时分秒.
datediff(日期部分,日期1,日期2)
计算指定的日期1和日期2的时间差多少.
dateadd(日期部分,数值表达式,日期)
计算指定时间,再加上表达式指定的时间长度.
--取时间的某一个部分
select datepart(yy,getdate()) --year
select datepart(mm,getdate()) --month
select datepart(dd,getdate()) --day
select datepart(hh,getdate()) --hour
select datepart(mi,getdate()) --min
select datepart(ss,getdate()) --sec
--取星期几
//该计算出的结果要+1,因其计算出的星期天为一周的第1天,星期六自然就成为一周第7天
set datefirst 1
select datepart(weekday,getdate()) --weekday
--字符串时间
select getdate() -- '03/11/12'
select convert(char,getdate(),101) -- '09/27/2003'
select convert(char,getdate(),102) -- '2003.11.12'
select convert(char,getdate(),103) -- '27/09/2003'
select convert(char,getdate(),104) -- '27.09.2003'
select convert(char,getdate(),105) -- '27-09-2003'
select convert(char,getdate(),106) -- '27 Sep 2003'
select convert(char,getdate(),107) --'Sep 27, 2003'
select convert(char,getdate(),108) --'11:16:06'
select convert(char,getdate(),109) --'Sep 27 2003 11:16:28:746AM'
select convert(char,getdate(),110) --'09-27-2003'
select convert(char,getdate(),111) --'2003/09/27'
select convert(char,getdate(),112) --'20030927'
select rtrim(convert(char,getdate(),102))+' '+(convert(char,getdate(),108)) -- '2003.11.12 11:03:41'
--整数时间
select convert(int,convert(char(10),getdate(),112)) -- 20031112
select datepart(hh,getdate())*10000 + datepart(mi,getdate())*100 + datepart(ss,getdate()) -- 110646
--时间格式 "YYYY.MM.DD HH:MI:SS" 转换为 "YYYYMMDDHHMISS"
declare @a datetime,@tmp varchar(20),@tmp1 varchar(20)
select @a=convert(datetime,'2004.08.03 12:12:12')
select @tmp=convert(char(10),@a,112)
select @tmp
select @tmp1=convert(char(10),datepart(hh,@a)*10000 + datepart(mi,@a)*100 + datepart(ss,@a))
select @tmp1
select @tmp=@tmp+@tmp1
select @tmp
--当月最后一天
declare
@tmpstr varchar(10)
@mm int,
@premm int,
@curmmlastday varchar(10)
begin
select @mm=datepart(month,getdate())--当月
select @premm=datepart(month,dateadd(month,-1,getdate())) --上个月
if (@mm>=1 and @mm<=8)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else if (@mm>=9 and @mm<=11)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.'+convert(char(2),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else
select @tmpstr=convert(char(4),datepart(year,dateadd(year,1,getdate())))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
select @curmmlastday=convert(char(10),dateadd(day,-1,@tmpstr),102) --当月最后一天
end
----------------------------------------------------------
格式为:DateAdd(interval, number, date)
interval:间隔时间(如时、分、秒、天、周、月、季、年)
number:间隔数(正数为向后+N,负数为向前-N)
date:当前日期或指定日期
查询当前日期起,以时、分、秒、天、周、月、季、年为间隔的日期
时:select convert(char(8),dateadd(hour,1,getdate()),112)
分:select convert(char(8),dateadd(minute,1,getdate()),112)
秒:select convert(char(8),dateadd(second,1,getdate()),112)
天:select convert(char(8),dateadd(day,1,getdate()),112)
周:select convert(char(8),dateadd(week,1,getdate()),112)
月:select convert(char(8),dateadd(month,1,getdate()),112)
季:select convert(char(8),dateadd(quarter,1,getdate()),112)
年:select convert(char(8),dateadd(year,1,getdate()),112)
-----------------------------------------------------------
select dateadd(year, 1, '31-Jan-96')
select dateadd( month, 1, '1987/05/02' )
select datediff(day,'2008-10-1','2008-10-31')
-----------------------------------------------------------
上月第一天:
select dateadd(mm,-1,convert(char(8),(datepart(yy,getdate())*10000+datepart(mm,getdate())*100+01)))
上月最后一天:
select dateadd(dd,-1,convert(char(8),(datepart(yy,getdate())*10000+datepart(mm,getdate())*100+01)))
其实就是先取本月第一天,然后分别减一个月和一天就是上月第一天和最后一天
分享到:
相关推荐
### Sybase日期函数大全 #### 1. `GETDATE()` - **功能**: 获取当前系统日期和时间。 - **示例**: `SELECT GETDATE();` 返回如 `'2023-03-15 14:30:00'` 的格式。 #### 2. `DATEPART()` - **语法**: `DATEPART...
本文将详细解析三个主要的Sybase日期函数:`getdate()`、`datepart()` 和 `dateadd()`,以及如何利用它们来处理和转换日期时间数据。 1. **getdate() 函数**: `getdate()` 是一个内置函数,用于获取系统当前的...
下面将详细介绍Sybase中的日期函数及其用途。 ### 一、获取当前日期和时间 #### 1. `getdate()`函数 `getdate()`函数用于返回系统当前的日期和时间。 ```sql SELECT GETDATE(); -- 返回如 '03/11/12' 格式的当前...
在Sybase数据库系统中,日期和时间的处理是数据库操作中的常见任务,这涉及到一系列的日期函数。本文将深入解析Sybase的四个主要日期函数及其应用。 1. **getdate()** 函数: - `getdate()` 用于获取当前系统时间...
Sybase系统函数是指由Sybase数据库自带的一系列预定义函数,它们能够执行特定的数据操作或系统任务,如字符串处理、数学计算、日期时间处理、转换类型等。熟练掌握这些函数,对于优化查询性能、简化编程工作以及提高...
以下是对Sybase ASA中查询元信息的几个常用SQL函数的详细介绍: 1. **`sp_columns`**:此函数用于检索指定表中的列信息,包括列名、数据类型、最大长度等。例如,`sp_columns 'account'`将显示表`account`的所有列...
3. **日期/时间函数**:这些函数处理日期和时间数据类型,如`GETDATE()`获取当前日期和时间,`DATEADD()`和`DATEDIFF()`分别用于增加或减少日期间隔,`YEAR()`, `MONTH()`, `DAY()`从日期中提取年、月、日等部分。...
《Sybase参考手册-函数》是为Sybase Adaptive Server Enterprise(ASE)数据库管理系统提供的一份重要参考资料,适用于ASE的所有后续版本。ASE是一款高效、可扩展的企业级数据库解决方案,广泛应用于金融、电信、...
本篇将详细探讨Sybase中的日期处理技术,包括日期时间类型、日期函数以及如何进行日期截取。 首先,Sybase支持多种日期时间类型,包括`DATE`(日期)、`TIME`(时间)、`DATETIME`(日期时间)和`TIMESTAMP`...
标题中的“Sybase函数大全”意味着本文将全面覆盖Sybase中的各类函数,包括但不限于数学函数、字符串处理函数、日期时间函数等;“让你的SQL语言更通顺”则表明通过熟练运用这些函数,可以使得SQL查询变得更加简洁...
### Sybase SQL语法和函数使用教程知识点概览 #### 一、Sybase SQL简介 Sybase SQL是一种标准化的关系型数据库管理系统(RDBMS),由Sybase公司开发并维护。它支持Transact-SQL语言,这是一种用于管理关系型数据库的...
Sybase还提供了一系列日期函数,以便进行日期和时间的处理。 - **getdate()**:返回当前系统日期和时间。 - **datename(datepart,date_expr)**:返回指定日期表达式的指定部分的名称。 - 参数: - `datepart`:...
SYBASE iq中提供了多种日期函数,例如:Getdate()、Datename()、Datepart()、Datediff()和Dateadd()等 11. ISNULL 函数 SYBASE iq中可以使用ISNULL函数来代替查询栏或合计中的空值,例如:Select avg(isnull(total...
在Sybase中,有各种内置函数,如数学函数(如`SQRT`,`POWER`),字符串函数(如`SUBSTRING`,`CONCAT`),日期/时间函数(如`DATEADD`,`DATEDIFF`)等。它们极大地增强了SQL的表达能力。 3. **存储过程**: 存储...
- 内建的系统函数,如数学函数、字符串函数、日期/时间函数等 - 错误代码及其含义,这对于识别和解决数据库操作中的问题至关重要 - 使用系统函数进行数据处理和查询的示例 3. **系统表**: 系统表存储了关于...
本文将深入探讨其数据库创建、数据类型、日期时间格式以及一系列关键函数的使用,帮助用户更好地理解和操作Sybase IQ数据库。 首先,创建数据库的脚本是数据库初始化的关键步骤。例如,创建名为`myiq.db`的数据库,...
根据提供的信息,我们可以总结出一系列关于Sybase数据库中使用的通用函数及其用法。这些函数涵盖了字符串操作、日期时间处理以及数值计算等多个方面。下面将详细解释每个提到的函数及其应用场景。 ### 字符串函数 ...
本文档主要整理了Sybase IQ的一些关键知识点,包括数据库创建、数据类型、日期和时间格式,以及特定的函数用法。 首先,创建数据库的脚本展示了如何定义数据库的基本配置。例如,`CREATE DATABASE`语句用于创建...