VB與Oracle數據庫中的日期轉換
在數據庫的開發過程中,你可能會遇到oracle與vb的日期類型不匹配,無法直接比較的問題。而vb中又沒有專門的函數可以轉換oracle的日期,這個問題該如果解決呢?其實在oracle 的自帶函數庫里有一個很有用的函數to_date(),它可以將日期字符串按照自己定義的格式轉換為oracle格式的日期。
示例代碼如下:
| 以下是引用片段: 聲明:cn 為數據庫鏈接對象 dim datbirthday as date 注釋:出生日期 dim strsql as string 注釋:sql語句 dim rs as adodb.recordset 注釋:結果集對象 datbirthday=# 10/1/1980 # strsql = "select name from tabgroup_2001" _ &" where birthday= to_date(注釋:"&cstr(datbirthday) &"注釋:,注釋:yyyy-mm-dd注釋:) rs.open strsql |
注意函數后面的部分:yyyy-mm-dd,這是你提供的日期字符串的日期格式參數,oracle 將根據你的格式參數讀取日期(表1中列出經常會用到的參數)。
如果要還原回來怎么辦呢?沒關系,我們還有另一個函數to_char(date),它與to_date是一對反函數,使用的格式也與to_date類似,這里也舉一個簡單的例子,假設我們要查詢系統時間,那么格式如下:
| 以下是引用片段: select to_char(sysdate, 注釋:dd-mon-yyyy hh24:mi:ss注釋:) "right now" from dual; |
結果顯示:
right now
―――――――――――――――――――
16-nov-2001 14:23:22
對照下面的參數表,相信你很快就能夠掌握這兩個函數的應用的日期格式參數。
說明:
d 一周中的星期幾
day 天的名字,使用空格填充到9個字符
dd 月中的第幾天
ddd 年中的第幾天
dy 天的簡寫名
iw iso標準的年中的第幾周
iyyy iso標準的四位年份
yyyy 四位年份
yyy,yy,y 年份的最后三位,兩位,一位
hh 小時,按12小時計
hh24 小時,按24小時計
mi 分
ss 秒
mm 月
mon 月份的簡寫
month 月份的全名
w 該月的第幾個星期
ww 年中的第幾個星期