VB與ORACLE數據庫中的日期轉換
發表于:2007-07-14來源:作者:點擊數:
標簽:
在 數據庫 的 開發 過程中,你可能會遇到ORACLE與 VB 的日期類型不匹配,無法直接比較的問題。而VB中又沒有專門的函數可以轉換ORACLE的日期,這個問題該如果解決呢?其實在ORACLE 的自帶函數庫里有一個很有用的函數TO_DATE(),它可以將日期字符串按照自己
在
數據庫的
開發過程中,你可能會遇到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 年中的第幾個星期
原文轉自:http://www.anti-gravitydesign.com