Firebird日期时间操作
最近在使用Firebird数据做 一项目,使用FireBird边用边学。(以下转贴)
查询2007年度以后的,12月份以上的数据记录,datetime为timestamp字段
select * from tableblob where extract(month from datetime)=12 and extract(year from datetime)>2007
查询不重复的(年份+月份)组合,datetime为timestamp字段
select distinct (extract(year from datetime)||extract(month from datetime)) from tableblob
获取当前年(其它如year,month,day,hour,minute,second,week,weekday等,都可以获取):
select extract(year from current_timestamp) from rdb$database
select extract(week from current_timestamp) from rdb$database
日期时间操作
FB中获得时间的操作符:
CURRENT_DATE : 当前日期
CURRENT_TIME : 当前时间
CURRENT_TIMESTAMP: 当前的日期时间,也称时间戳
从时间类型中获得信息的操作符:
EXTRACT(.. FROM ..)
Select EXTRACT(.. FROM ..) from RDB$DATABASE
如果返回值不存在时间值中会报错.
时间类型中的年份 EXTRACT(YEAR from CURRENT_TIMESTAMP); EXTRACT(YEAR from CAST('2005-8-1' as Date))=2005
月份 EXTRACT(MONTH from CURRENT_TIMESTAMP); EXTRACT(MONTH from CAST('2005-8-1' as Date))=8
日期 EXTRACT(DAY from CURRENT_TIMESTAMP); EXTRACT(DAY from CAST('2005-8-1' as Date))=1
天数 EXTRACT(YEARDAY from CURRENT_TIMESTAMP) ;EXTRACT(YEARDAY from CAST('2005-8-1' as Date))=212
星期几 EXTRACT(YEARDAY from CURRENT_TIMESTAMP); EXTRACT(DAY from CAST('2005-8-1' as Date))=1
CAST('Now' as Timestamp) 相当于 Current_Timestamp
CAST('ToDay' as Date) 今天的日期
CAST('yesterday' as Date') 昨天的日期
| 如何取两个日期相差的年数 |
|
在FIREBIRD中怎样才能取得两个日期字段相差的年数,比如2000-05-3与2007-09-12相差几年,有比(cast('2000-05-03' as date)-cast('2007-09-12' as date))/365更好的方法吗? http://www.firebird.net.cn/forum_view.asp?forum_id=1&view_id=379&page=1 |
select extract(year from cast('2008-1-1' as date))
-extract(year from cast('2007-1-1' as date))
from rdb$database
Firebird日期时间操作的更多相关文章
- paip.日期时间操作以及时间戳uapi php java python 总结
paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...
- Python基础 | 日期时间操作
目录 获取时间 时间映射 格式转换 字符串转日期 日期转字符串 unixtime 时间计算 时间偏移 时间差 "日期时间数据"作为三大基础数据类型之一,在数据分析中会经常遇到. 本 ...
- Java日期时间操作基础——包含JDK1.8时间操作新特性
JDK1.7日期时间操作 示例小结 public class DateTest { public static final String FORMAT_DATE = "yyyy-MM-dd& ...
- MySQL tips (日期时间操作/concat 等)
1. Query结尾要加一个分号: 2. 数据库和表 SHOW DATABASES; USE YOUR_DB; SHOW TABLES; SHOW COLUMNS FROM study或者D ...
- JS 中的日期时间操作计算实例
实例 一:已知日期格式为 "YYYY/MM/DD",计算相对于今天的天数差. function fromNow(date){ var mTimes = new Date(date) ...
- Java日期时间操作的一些方法
1. 获得Calendar实例: Calendar c = Calendar.getInstance(); 2. 定义日期/时间的格式: SimpleDateFormat sdf =new Simpl ...
- php 日期时间操作-可算出几天后的时间
本文为大家介绍一下根据PHP时间戳获取当前时期的具体方式.strtotime能将任何英文文本的日期时间描述解析为Unix时间戳,我们结合mktime()或date()格式化日期时间获取指定的时间戳,实 ...
- mysql日期时间操作
select curdate(); --获取当前日期 select last_day(curdate()); --获取当月最后一天. select DATE_ADD(curdate(),interva ...
- kbmmw 中的日期时间操作
为了精确度反映时间及时区,kbmmw 里面专门有一个单元处理日期时间,由于很多同学习惯了delphi 自带的Tdatetime,使用这个时会有一些疑惑,因此今天就单独说一下这个. 首先kbmmwdat ...
随机推荐
- Java中常见流的分类及简单讲解
流在Java中是指计算中流动的缓冲区. 从外部设备流向中央处理器的数据流成为“输入流”,反之成为“输出流”. 字符流和字节流的主要区别: 1.字节流读取的时候,读到一个字节就返回一个字节:字符流使用了 ...
- android webview内存泄露解决方法
完整的activity的onDestroy()方法:@Override protected void onDestroy() { if( mWebView!=null) { // 如果先调用destr ...
- vue 非父子组件传值
/*非父子组件传值 1.新建一个js文件 然后引入vue 实例化vue 最后暴露这个实例 2.在要广播的地方引入刚才定义的实例 3.通过 VueEmit.$emit('名称','数据') 4.在接收收 ...
- log4net 配置允许同时写日志到同一个文件
RollingFileAppender appender = new RollingFileAppender();... appender.LockingModel = new FileAppende ...
- Type Cannot change version of project facet Dynamic Web Module to 2.5 报错
项目下的.setings文件 夹中的 version 改为2.5
- Oracle SQL:select各类查询语句总结
SQL查询语句总结 数据查询语言:即DML(Data Mannipulation Language)数据操纵语言,用于查询.操纵数据表资料行 本手册所有示例引用表均以TIPTOP GP ERP数据库 ...
- windows 日志解决方法
1.sql server 2012 报错 MSSQLSERVER 服务无法使用当前配置的密码以 .\MSSQL_SF_A9JGSK 身份登录,错误原因如下: 此帐户的密码已过期. 要确保服务配置正确, ...
- CLion使用OpenCV(Ubuntu 18.04)
项目结构: 设置CMainLists.txt文件中的内容: cmake_minimum_required(VERSION 3.13) project(cv_test) ) find_package(O ...
- nginx 端口转发配置
nginx.conf #user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.log not ...
- C# JToken类的使用,实现解析动态json数据、遍历、查找
在原来解析json数据是,一般都是用反序列化来实现json数据的解读,这需要首先知道json数据的结构并且建立相应的类才能反序列化,一旦遇到动态的json数据,这种方法就不使用. 为了解决动态解析js ...