我需要获取表(oracle db)中项目的最后修改日期。 修改日期为 db 格式=04-DEC-20 在控制台中显示修改日期=04-09-2020
获取修改日期的c#代码
string connString =DBUtils.GetDBConnection();
OracleConnection conn = new OracleConnection();
conn.ConnectionString = connString;
string sql = "select LASTMODIFIED , name from v_vname where name in('hector')";
OracleCommand cmd = new OracleCommand();
// Set connection for command.
cmd.Connection = conn;
cmd.CommandText = sql;
conn.Open();
using (DbDataReader reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
int date = reader.GetOrdinal("LASTMODIFIED"); // 0
var LASTmTime = reader.GetValue(0);
Console.WriteLine("modifieddate:" + LASTmTime);
}
}
}
答案 0 :(得分:0)
在 Oracle 中,您可以使用 function download_images(){ global $db;
if ( $query = $db->get_results("SELECT `id`,`title`,`url_image` FROM table") ){
foreach ( $query as $data ){
$local_path_image = "folder/" .slugify($data->title) . "-img-" .$data->id . ".png";
if (file_exists($local_path_image)) { /* if exist, do nothing */
echo $local_path_image . ' already exist' . PHP_EOL; }
else if ( !file_exists($local_path_image)) { /* if doesn't exist, call save_image */
save_image($data->url_image, ABSPATH . $local_path_image);
echo $local_path_image . ' was added' . PHP_EOL; }
else { /* nothing */ } }
} else { echo "No data found."; }
}
将 date
格式化为字符串:
to_char()
旁注:select to_char(lastmodified, 'dd-mm-yyyy') as last_modified, name
from v_vname
where name = 'hector'
是更简单的短语 name in ('hector')
。
答案 1 :(得分:0)
在 C# 中使用 .ToString("dd-MM-yyyy") 很优雅
while (reader.Read())
{
int date = reader.GetOrdinal("LASTMODIFIED"); // 0
var LASTmTime = reader.GetValue(0).ToString("dd-MM-yyyy");
Console.WriteLine("modifieddate:" + LASTmTime);
}
答案 2 :(得分:0)
DATE
数据类型值是二进制值 consisting of 7-bytes(始终是世纪、世纪年、月、日、小时、分钟和秒)。
当您说格式为 DD-MON-RR
时,您看到的是您使用的用户界面,将二进制值格式化为您(用户)会理解的内容,并且对于 SQL/Plus(以及 SQL 开发人员和其他人) ) 这将基于 NLS_DATE_FORMAT
会话参数,而 default NLS_DATE_FORMAT
value 取决于您在设置数据库时使用的区域。
您需要做的是输出 DATE
根据您的要求格式化的字符串表示。您可以在 SQL 中执行此操作并使用 TO_CHAR
来格式化字符串:
SELECT TO_CHAR( LASTMODIFIED, 'DD-MM-YYYY' ) AS last_modified,
name
FROM v_vname
WHERE name = 'hector'
DateTime LASTmTime = reader.GetValue(0);
Console.WriteLine("modifieddate:" + LASTmTime.toString("dd-MM-yyyy"));