(PHP 5, 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() 的别名。不过其已被废弃,不推荐使用。
taq at terra dot com dot br (2002-04-30 08:19:35)
Using OCIColumnPrecision() I got the correct field size ( not the Oracle 22 fixed value ). Don't know if its the correct behaviour, but it works. :)
rudi at darx dot com (2000-07-16 10:19:48)
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.