1. 程式人生 > >C#,SQL 日期格式轉換

C#,SQL 日期格式轉換

最近寫了個後臺程式碼需要從Oracle資料庫中抽取資料,其中的一個抽取條件是按照日期,而oracle中的日期儲存格式為8位字元。而不是真正的DateTime。在進行查詢的時候需要進行格式轉換。具體如下:
1,C#

        /// <summary>
        /// 將日期轉化為查詢用的格式(yyyymmdd)
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static
string ConToString(DateTime dateTime) { if (dateTime != null) { return dateTime.ToString("yyyyMMdd"); } return null; } /// <summary> /// 將8位字串(yyyymmdd)轉化為標準的格式(yyyy&mm&dd) /// </summary>
/// <param name="value"></param> /// <returns></returns> public static string ConToFormatString(string dateTime, string token) { if (dateTime != null) { dateTime = dateTime.Insert(4, token); dateTime = dateTime.Insert(7
, token); return dateTime; } return null; } /// <summary> /// 將秒數轉化為HH:MM:SS格式 /// </summary> /// <param name="seconds"></param> /// <returns></returns> public static string ConToHHMMSS(int seconds) { int hour, minute, second; hour = seconds / (60 * 60); minute = (seconds - hour * 60 * 60) / 60; second = seconds - hour * 60 * 60 - minute * 60; return hour.ToString() + ":" + minute.ToString() + ":" + second.ToString(); } /// <summary> /// 獲取Datetime?的日期值 /// </summary> /// <param name="dte"></param> /// <returns></returns> public static string GetDateFromDateTime(DateTime? dte) { if (dte != null && dte.Value != null) { return dte.Value.ToString("yyyy-MM-dd"); } return ""; }

2,SQL分為Oracle和SqlServer兩種

Oracle:
select TO_CHAR(B.TASKEND, ‘YYYYMMDD’) from table B
SqlServer:
使用cast 或者 convert 後續補上