시계열 데이터는 현대 애플리케이션의 공통 데이터 유형으로 시간이 지남에 따라 변경되는 수치 값을 기록합니다. PHP 개발에서는이 데이터를 Oracle 데이터베이스와 함께 처리하는 것이 매우 일반적입니다. 이 기사는 Oracle 데이터베이스를 사용하여 PHP에서 시계열 데이터를 처리하기위한 몇 가지 팁을 공유하고 개발자가 코드 예제를 통해 이러한 작업을 더 잘 이해하도록 도와줍니다.
PHP에서 PDO 확장은 일반적으로 Oracle 데이터베이스에 연결하는 데 사용됩니다. 간단한 연결 코드 예는 다음과 같습니다.
<?php $host = 'localhost'; $port = '1521'; $sid = 'ORCL'; $dsn = "oci:dbname=//(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$host)(PORT=$port))(CONNECT_DATA=(SID=$sid)))"; $user = 'username'; $password = 'password'; try { $pdo = new PDO($dsn, $user, $password); echo "연결하십시오Oracle데이터베이스 성공!"; } catch (PDOException $e) { echo "연결이 실패했습니다: " . $e-> getMessage (); } ?>
Oracle 데이터베이스에서 타임 스탬프 유형을 사용하여 시계열 데이터를 저장할 수 있습니다. 다음은 시계열 목록을 작성하기위한 샘플 코드입니다.
<?php $sql = "CREATE TABLE time_series_data ( id INT PRIMARY KEY, timestamp_col TIMESTAMP, value NUMBER )"; $pdo-> exec ($ sql); Echo "시계열 목록은 성공적으로 만들어졌습니다!"; ?>
시계열 데이터를 테이블에 삽입 할 때는 TO_TIMESTAMP 함수를 사용하여 문자열 날짜를 Oracle의 타임 스탬프 유형으로 변환 할 수 있습니다. 다음은 시계열 데이터를 삽입하기위한 코드 예제입니다.
<?php $id = 1; $timestamp = '2022-01-01 00:00:00'; $value = 10; $sql = "INSERT INTO time_series_data (id, timestamp_col, value) VALUES (:id, TO_TIMESTAMP(:timestamp, 'YYYY-MM-DD HH24:MI:SS'), :value)"; $stmt = $pdo-> 준비 ($ SQL); $ stmt-> bindparam ( ': id', $ id, pdo :: param_int); $ stmt-> bindparam ( ': timestamp', $ timestamp, pdo :: param_str); $ stmt-> bindparam ( ': value', $ value, pdo :: param_int); $ stmt-> execute (); Echo "시계열 데이터가 성공적으로 삽입됩니다!"; ?>
시계열 데이터를 쿼리 할 때 to_char 함수를 사용하여 타입 타임 스탬프 날짜를 문자열로 변환하고 TO_TIMESTAMP 함수를 사용하여 문자열을 타임 스탬프로 변환하여 비교할 수 있습니다. 다음은 시계열 데이터 쿼리를위한 코드 예제입니다.
<?php $startTimestamp = '2022-01-01 00:00:00'; $endTimestamp = '2022-01-02 00:00:00'; $sql = "SELECT id, TO_CHAR(timestamp_col, 'YYYY-MM-DD HH24:MI:SS') AS timestamp, value FROM time_series_data WHERE timestamp_col >= TO_TIMESTAMP(:startTimestamp, 'YYYY-MM-DD HH24:MI:SS') AND timestamp_col < TO_TIMESTAMP(:endTimestamp, 'YYYY-MM-DD HH24:MI:SS')"; $stmt = $pdo->준비 ($ SQL); $ stmt-> bindparam ( ': startTimestamp', $ startTimestamp, pdo :: param_str); $ stmt-> bindparam ( ': endtimestamp', $ endtimestamp, pdo :: param_str); $ stmt-> execute (); $ result = $ stmt-> fetchall (pdo :: fetch_assoc); foreach ($ round as $ row) { 에코 "ID :". $ 행 [ 'ID']. "타임 스탬프 :". $ 행 [ '타임 스탬프']. " 값: " . $ 행 [ 'value']. "\N"; } ?>
PHP 개발에서 Oracle 데이터베이스를 사용하여 시계열 데이터를 처리하는 것이 일반적인 요구 사항입니다. 이 기사는 Oracle 데이터베이스에 연결하고 시계열 목록을 작성하고 시계열 데이터를 삽입하는 방법을 설명하는 실제 코드 예제를 제공합니다. 독자가 실제 개발에서 Oracle 데이터베이스의 시계열 데이터를보다 효율적으로 처리하는 데 도움이되기를 바랍니다.