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.
(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
oci_field_size — 返回字段大小
oci_field_size()
以字节为单位返回字段的大小。field
参数的值可以是字段的索引(从 1 开始)或者字段名。
Example #1 oci_field_size()例子
<?php
$conn = oci_connect("scott", "tiger");
$stmt = oci_parse($conn, "SELECT * FROM emp");
oci_execute($stmt);
echo "<table border=\"1\">";
echo "<tr>";
echo "<th>Name</th>";
echo "<th>Type</th>";
echo "<th>Length</th>";
echo "</tr>";
$ncols = oci_num_fields($stmt);
for ($i = 1; $i <= $ncols; $i++) {
$column_name = oci_field_name($stmt, $i);
$column_type = oci_field_type($stmt, $i);
$column_size = oci_field_size($stmt, $i);
echo "<tr>";
echo "<td>$column_name</td>";
echo "<td>$column_type</td>";
echo "<td>$column_size</td>";
echo "</tr>";
}
echo "</table>";
oci_free_statement($stmt);
oci_close($conn);
?>
Note:
在 PHP 5.0.0 之前的版本必须使用 ocicolumnsize() 替代本函数。该函数名仍然可用,为向下兼容作为 oci_field_size() 的别名。不过其已被废弃,不推荐使用。
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.