--請注意,使用時,請把文中空格替換,文中的空格有誤
--獲取當前日期:
select current date from sysibm.sysdummy1;
values current date;
--獲取當前日期
select current time from sysibm.sysdummy1;
values current time;
--獲取當前時間戳
select current timestamp from sysibm.sysdummy1;
values current timestamp;
--要使當前時間或當前時間戳記調整到 gmt/cut,則把當前的時間或時間戳記減去當前時區暫存器:
values current time -current timezone;
values current timestamp -current timezone;
--獲取當前年份
values year(current timestamp);
--獲取當前月
values month(current timestamp);
--獲取當前日
values day(current timestamp);
--獲取當前時
values hour(current timestamp);
--獲取分鐘
values minute(current timestamp);
--獲取秒
values second(current timestamp);
--獲取毫秒
values microsecond(current timestamp);
--從時間戳記單獨抽取出日期和時間
values date(current timestamp);
values varchar_format(current timestamp,'yyyy-mm-dd');
values char(current date);
values
time(current timestamp);
--執行日期和時間的計算
values current date+1 year;
values current date+3 years+2 months +15 days;
values current time +5 hours -3 minutes +10 seconds;
--計算兩個日期之間的天數
values days(current date)- days(date('2010-02-20'));
--時間和日期換成字串
values char(current date);
values char(current time);
--要將字串轉換成日期或時間值
values timestamp('2010-03-09-22.43.00.000000');
values timestamp('2010-03-09 22:44:36');
values date('2010-03-09');
values date('03/09/2010');
values
time('22:45:27');
values
time('22.45.27');
--計算兩個時間戳記之間的時差:
--秒的小數部分為單位
values timestampdiff(1,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--秒為單位
values timestampdiff(2,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--分為單位
values timestampdiff(4,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--小時為單位
values timestampdiff(8,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--天為單位
values timestampdiff(16,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--週為單位
values timestampdiff(32,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--月為單位
values timestampdiff(64,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--季度為單位
values timestampdiff(128,char(current timestamp - timestamp('2010-01-01-00.00.00')));
--年為單位
values timestampdiff(256,char(current timestamp - timestamp('2010-01-01-00.00.00')));
sql server、oracle和db2的日期及時間函式比較
1、在日期基礎上減去一天
sql:
dateadd(day,-1,convert(smalldatetime,returndate))
oarcle:
to_char(to_date(returndate,』yyyy-mm-dd』)-1 , 『yyyy-mm-dd』)
db2:
char(date(returndate) - 1 days)
——————————-
2、在日期和時間的基礎上減去一天
sql:
dateadd(day,-1,convert(smalldatetime,enddate+』 『+endtime))
oralce:
to_char(to_date(concat(concat(enddate,』 『),endtime),』yyyy-mm-dd hh24:mi:ss』)-1 , 『yyyy-mm-dd hh24:mi:ss』)
db2:
char(timestamp(concat(concat(begindate,』 『),begintime))- 1 days)
——————————-
3、計算兩個日期間的天數
sql:
convert(datetime,t1.lastoperatedate)-convert(datetime,t1.createdate)
oracle:
to_date(t1.lastoperatedate,』yyyy-mm-dd』)-to_date(t1.createdate,』yyyy-mm-dd』)
db2:
days(date(lastoperatedate))-days(date(createdate))
如果要在日期或日期和時間的基礎上加減年、月、日、時、分、秒,可以根據上面的例子做相應改動,具體的使用方法都很類似)
JDBC 查詢(讀操作)資料庫
註冊mysql的驅動 獲得乙個連線 建立乙個查詢 處理結果集 關閉連線 class.forname com.mysql.jdbc.driver connection conn drivermanager.getconnection db url,user,pass preparedstatement...
查詢DB2資料庫約束
近期在做乙個功能測試時,需要往db2資料庫中插入一條資料,插入時,一直報 sqlerrmc wcsadmin.manifest.f 428,錯誤,通過dbvisualizer personal工具檢視該錶,顯示有乙個 f 428外來鍵約束,但是無奈,就是不知道具體是哪一列 或哪幾列,本人對這個系統整...
DB2資料庫相關操作
自增字段的建立 start with 1 increment by 1 cache 20 no cycle no order 設定自增序列從20001開始 alter sequence linkage seq restart with 20001 使用自增字段 插入一條資料insert into l...