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 - Manual: oci_field_size
2024-12-21
(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)
oci_field_size — 返回字段大小
oci_field_size()
以字节为单位返回字段的大小。field
参数的值可以是字段的索引(从 1 开始)或者字段名。
示例 #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);
?>
注意:
在 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.
官方地址:https://www.php.net/manual/en/function.oci-field-size.php