C#,SQL 日期格式轉換
阿新 • • 發佈:2019-02-17
最近寫了個後臺程式碼需要從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 後續補上