(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_field_type_raw — Oracle におけるフィールドの型を問い合わせる
$statement
, string|int $column
): int|false
フィールド column
の、Oracle における生の "SQLT" データ型を返します。
フィールドの型の名前を取得したい場合は oci_field_type() を使いましょう。
statement
有効な OCI ステートメント ID。
column
フィールド番号 (1 から始まる) あるいは名前のいずれか。
Oracle のデータ型を表す数値を返します。
失敗した場合に false
を返します
例1 oci_field_type_raw() の例
<?php
// 以下のテーブルを用意します
// CREATE TABLE mytab (number_col NUMBER, varchar2_col varchar2(1), clob_col CLOB, date_col DATE);
$conn = oci_connect("hr", "hrpwd", "localhost/XE");
if (!$conn) {
$m = oci_error();
trigger_error(htmlentities($m['message']), E_USER_ERROR);
}
$stid = oci_parse($conn, 'select * from mytab');
oci_execute($stid, OCI_DESCRIBE_ONLY); // 行をフェッチしない場合は OCI_DESCRIBE_ONLY を使います
$n = oci_num_fields($stid);
for ($i = 1; $i <= $n; ++$i) {
echo oci_field_name($stid, $i) . " is raw type: " . oci_field_type_raw($stid, $i) . "<br>\n";
}
// 出力は
// NUMBER_COL is raw type: 2
// VARCHAR2_COL is raw type: 1
// CLOB_COL is raw type: 112
// DATE_COL is raw type: 12
oci_free_statement($stid);
oci_close($conn);
?>
注意:
PHP バージョン 5.0.0 以前では、代わりに ocicolumntyperaw() を使用しなければなりません。 まだこの名前を使用することができ、下位互換性のため oci_field_type_raw() への別名として残されていますが、 推奨されません。