我想使用 .NET 的通用可排序时间格式使 Oracle 返回日期,这样我就可以始终如一地使用这种相当不错的日期/时间格式,因此我可以轻松地将结果解析为 DateTime,只需使用“u”作为格式:
// "u" is less unwieldy than "yyyy'-'MM'-'dd HH':'mm':'ss'Z'"
myDT = DateTime.ParseExact(oraString, "u", CultureInfo.InvariantCulture);
我可以很容易地让 Oracle 返回这种格式:
SELECT to_char(sysdate, 'YYYY-MM-DD HH:MM:SS') || 'Z' udt FROM dual
但是,使用连接添加的“Z”会使查询实际上无法使用以下格式的绑定变量:
someBindMethod("uformat", "YYYY-MM-DD HH:MM:SS"); // Hypothetical .NET/Oracle lib
-- No matter the format string, date/time will always end with 'Z'.
SELECT to_char(sysdate, :uformat) || 'Z' udt FROM dual
(如果 'Z' 结束格式字符串,Oracle 会抱怨)
如何传递绑定字符串以便可以返回通用可排序时间格式,但仍可以使用任何其他日期格式而不更改查询?