php 中的 Oracle 数据库日期列未显示完整日期
Oracle database date column does not show full date in php
我有日期列,日期值的格式设置为:DD-MON-RR HH24:MI:SS
当我从 sqldeveloper 执行 sql 脚本时,我可以看到日期
2015 年 3 月 16 日 20:40:47。但是当我想用 php 获得这个值时:
$currentDATE=$row['DATE'];
echo gettype($row['DATE']);
echo $currentDATE;
我看到的结果是
string16-MAR-15
如何在 php 页面中查看完整的日期信息?
这取决于您的 Oracle 客户端上的 nls_date_format 设置。这也是关于为什么您的 SQL 脚本不应该依赖隐式转换的一个很好的示范。
你有两个选择:
- (推荐)更新您的 sql 脚本,以便 sql 语句输出
to_char(<date column>, '<your date format>')
- 在连接到 SQL*Plus 后,通过 运行ning
alter session set nls_date_format= '<your date format>';
更改您的默认 nls_date_format 设置。
第一个选项是迄今为止最好的选项;这意味着必须 运行 该脚本的任何人都将看到相同的结果,而无需使用 nls_date_format 设置。
I have date column and date value is set the format : DD-MON-RR HH24:MI:SS
确保在显示 DATE 时使用 TO_CHAR 明确地将 DATE 转换为 string 以及所需的 格式掩码 .
您看到的日期格式取决于您的区域设置特定的 NLS 设置。
记住,
- 对于日期计算,使用 TO_DATE 将字符串转换为日期。如果是日期类型,就保持原样。
- 要以您想要的格式显示
DATE
值,请使用 TO_CHAR 和适当的 格式掩码将其转换为字符串.
我有日期列,日期值的格式设置为:DD-MON-RR HH24:MI:SS 当我从 sqldeveloper 执行 sql 脚本时,我可以看到日期 2015 年 3 月 16 日 20:40:47。但是当我想用 php 获得这个值时:
$currentDATE=$row['DATE'];
echo gettype($row['DATE']);
echo $currentDATE;
我看到的结果是 string16-MAR-15 如何在 php 页面中查看完整的日期信息?
这取决于您的 Oracle 客户端上的 nls_date_format 设置。这也是关于为什么您的 SQL 脚本不应该依赖隐式转换的一个很好的示范。
你有两个选择:
- (推荐)更新您的 sql 脚本,以便 sql 语句输出
to_char(<date column>, '<your date format>')
- 在连接到 SQL*Plus 后,通过 运行ning
alter session set nls_date_format= '<your date format>';
更改您的默认 nls_date_format 设置。
第一个选项是迄今为止最好的选项;这意味着必须 运行 该脚本的任何人都将看到相同的结果,而无需使用 nls_date_format 设置。
I have date column and date value is set the format : DD-MON-RR HH24:MI:SS
确保在显示 DATE 时使用 TO_CHAR 明确地将 DATE 转换为 string 以及所需的 格式掩码 .
您看到的日期格式取决于您的区域设置特定的 NLS 设置。
记住,
- 对于日期计算,使用 TO_DATE 将字符串转换为日期。如果是日期类型,就保持原样。
- 要以您想要的格式显示
DATE
值,请使用 TO_CHAR 和适当的 格式掩码将其转换为字符串.