为什么 SQL 日期从 YYYYMMDD 到 YYYY-MM-DD 不会失败?



这行得通,但为什么呢?YYYYMMDD 如何被接受为 YYYY-MM-DD?

select to_date(TO_CHAR(sysdate, 'YYYYMMDD'), 'YYYY-MM-DD HH24:MI:SS') from dual

记录了to_date()在这种情况下忽略标点符号:

将字符串值转换为日期值时,以下附加格式规则适用(除非您在格式模型中使用了 FX 或 FXFM 修饰符来控制精确的格式检查(:

如果指定了数字格式
  • 元素的所有数字(包括前导零(,则可以从日期字符串中省略格式字符串中包含的标点符号。例如,为两位数格式元素(如 MM、DD 和 YY(指定 02 而不是 2。

最新更新