为了将日期时间转换为SQL Server CE,我使用以下格式
var date = "CONVERT(datetime,'" +
((DateTime) DateTime.UtcNow).ToString("yyyyMMdd HH:mm:ss tt", new CultureInfo("en-us"))
+ "',112)";
对于Oracle:
var date = "TO_DATE('"
+ ((DateTime)DateTime.UtcNow).ToString("MMddyyyy hh:mm:ss tt")
+ "', 'mmddyyyy hh:mi:ss')";
对于MySQL:
var date = "STR_TO_DATE('"
+ ((DateTime)DateTime.UtcNow).ToString("yyyyMMdd HH:mm:ss", new CultureInfo("en-us"))
+ "','%Y%m%d %H:%i:%s')";
有人能告诉我如何在PostgreSQL中转换相同的内容吗?
**注意:**我使用的是timestamp
数据类型
3条答案
按热度按时间uqcuzwp81#
可以使用
to_char
函数来格式化时间戳:编辑:
为了回答评论中的问题,可以在
insert
语句中应用相同的调用:2w2cym1i2#
如果你想要一个非常简单的方法,你也可以使用这个:
编辑:自Npgsql版本7.* 以来,此功能已被弃用。https://github.com/npgsql/npgsql/issues/2009
wqlqzqxt3#
有了PostgreSQL,你可以使用Oracle的代码,只需要用
to_timestamp
代替to_date
。不同之处在于
date
在PostgreSQL中是一个 * 真实的 * 日期,而不是像在Oracle中那样是一个二次精度的时间戳,因此尽管可以像上面那样使用to_date
,但结果将没有任何时间信息。顺便说一句,你的Oracle格式是错误的。你可能想用
HH24
而不是HH
来表示“小时”部分。