2012年9月12日 星期三

Dos Command 取得日期,時間

最近因工作需要,寫了個以日期時間來產生檔案名稱的 bat 檔,但因為遇到"時"小於10時,檔案名稱中有空白,而發生錯誤,所以改了個補0的作法,特別記錄一下。

@echo off
set nowYear=%date:~0,4%
set nowMonth=%date:~5,2%
set nowDay=%date:~8,2%
set nowHr=%time:~0,2%
rem 若時小於10,前面補0 例: 9→09, 8→08 
if %nowHr% LSS 10 set nowHr=0%nowHr%
set nowMin=%time:~3,2%

set NewFileName=Log_File_%nowYear%%nowMonth%%nowDay%%nowHr%%nowMin%.log

2012年8月14日 星期二

星座日期

水瓶座   1/21 ~ 2/18
雙魚座   2/19 ~ 3/20
白羊座   3/21 ~ 4/20
金牛座   4/21 ~ 5/21
雙子座   5/22 ~ 6/21
巨蟹座   6/22 ~ 7/22
獅子座   7/23 ~ 8/22
處女座   8/23 ~ 9/23
天秤座   9/24 ~10/23
天蠍座 10/24 ~11/22
人馬座 11/23 ~12/21
山羊座 12/22 ~ 1/20

2012年8月1日 星期三

MS SQL Openquery to AS400

到伺服器物件 → 連結的伺服器,按右鍵,選擇 新增連結的伺服器。

需設定的欄位:
  • 連結的伺服器-取一個代號,下 Openquery 語法時要用到。
  • 提供者-可選擇"IBM DB2 for i IBMDASQL OLE DB Provider"或"IBM DB2 for i IBMDA400 OLE DB Provider";這兩個選項會在安裝完 AS400 的 Client Access 後會出現。
  • 資料來源-填入欲連結的 AS400 IP 或 Server Name。
  • 提供者字串-填入 Force Translate=1 可將 Binary 的資料轉換為文字。

2012年7月23日 星期一

DB2 系統日期轉太陽曆

--系統日轉太陽曆
SELECT varchar(left(Year(CURRENT DATE), 2) - 19) || 
       varchar(right(Year(CURRENT DATE), 2)) || 
       varchar(right(digits(DAYOFYEAR(CURRENT DATE)), 3))
FROM table

--上月1日太陽曆
SELECT varchar(left(Year(last_day(CURRENT DATE - 2 MONTH) + 1 day), 2) - 19) || 
       varchar(right(Year(last_day(CURRENT DATE - 2 MONTH) + 1 day), 2)) || 
       varchar(right(digits(DAYOFYEAR(last_day(CURRENT DATE - 2 MONTH) + 1 day)), 3)) 
FROM table

2012年3月16日 星期五

SQL Statement - Week of Month

用以計算某個日期是當月的第幾週
date1為要計算的日期

[In SQL Server]
CONVERT(CHAR(1), DATEPART(WK, DATE1) - DATEPART(WK,DATEADD(DD,-DAY(DATE1),DATE1)+1)+1)

 [In DB2]
WEEK(DATE1) - WEEK(DATE1 - DAY(DATE1) DAY + 1 DAY) + 1

2012年3月14日 星期三

DB2中的日期yyyy/m/d格式化為yyyymmdd

如原始日期為2012/3/1
欄位名稱為tempDate
只要用下面的方法
replace(char(tempDate, iso), '-', '')
就可得到
20120301