oci_field_size

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_field_sizeВозвращает размер поля

Описание

oci_field_size(resource $statement, string|int $column): int|false

Возвращает размер поля column.

Список параметров

statement

Идентификатор допустимого OCI запроса.

column

Может быть номером поля (нумерация начинается с 1) или именем.

Возвращаемые значения

Возвращает размер поля column в байтах или false, если возникла ошибка.

Примеры

Пример #1 Пример использования oci_field_size()

<?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, если не получаете данных

echo "<table border=\"1\">\n";
echo
"<tr>";
echo
"<th>Name</th>";
echo
"<th>Type</th>";
echo
"<th>Length</th>";
echo
"</tr>\n";

$ncols = oci_num_fields($stid);

for (
$i = 1; $i <= $ncols; $i++) {
$column_name = oci_field_name($stid, $i);
$column_type = oci_field_type($stid, $i);
$column_size = oci_field_size($stid, $i);

echo
"<tr>";
echo
"<td>$column_name</td>";
echo
"<td>$column_type</td>";
echo
"<td>$column_size</td>";
echo
"</tr>\n";
}

echo
"</table>\n";

// Выведет:
// Name Type Length
// NUMBER_COL NUMBER 22
// VARCHAR2_COL VARCHAR2 1
// CLOB_COL CLOB 4000
// DATE_COL DATE 7

oci_free_statement($stid);
oci_close($conn);

?>

Смотрите также

  • oci_num_fields() - Возвращает количество полей в результате запроса
  • oci_field_name() - Возвращает имя поля из результата запроса

Добавить

Примечания пользователей 1 note

up
0
rudi at darx dot com
24 years ago
Just a note regarding the size of Oracle NUMBERS will always return 22 as their "size".

This seems to be an Oracle feature. The rest of the documentation is in bug5156.
To Top