php - 如何更改 PHP 中的 NLS_DATE_FORMAT

标签 php oracle pdo

如何使用 PDO 更改 Oracle 数据库中的 NLS_DATE_FORMAT。 到目前为止我有这个:

    $date_set = "DD-MM-YYYY HH24:MI:SS";
    $query = $this->conn->prepare("ALTER SESSION SET 'NLS_DATE_FORMAT' = ?");
    $query->execute(array($date_set));

但是当我尝试获取 session 时:

    $query = "select * from nls_session_parameters where parameter='NLS_DATE_FORMAT'";
    $parameters = array();
    $test = $this->fetchRow($query, $parameters);
    var_dump($test); exit();

它返回:

DD-MON-RR"

最佳答案

此查询:

ALTER SESSION SET 'NLS_DATE_FORMAT' = 'DD-MM-YYYY HH24:MI:SS'

...应该触发此错误:

ORA-00922: missing or invalid option

如果您无法检测到它,则说明您的错误检查代码存在问题。最有可能的是,you haven't configured PDO to throw exceptions .

问题是 NLS_DATE_FORMAT 不是字符串而是标识符:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS';

关于php - 如何更改 PHP 中的 NLS_DATE_FORMAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22860101/

相关文章:

php - Laravel MySQL 数据库设置错误

php - 如何将数据库中的信息显示到 html 表中?

php - 尝试添加新用户,但出现此错误

php - 使用 MySQL 面向 future 的邻近搜索

php - 我如何配置 postfix 以从 azure 云发送电子邮件?

sql-server-2005 - Sql server 2005 中的分析函数

java - springboot java oracle过程调用游标

oracle - sys.col$ 和 sys.coltype$ 的区别

php - PDO 类中的调用值

php - 如果查询中没有占位符/动态数据,您可以省略 PDO 准备吗?