(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
oci_field_precision — Indica la precisión de un campo
Devuelve la precisión del campo dado por field
.
Para columnas FLOAT, la precisión no es cero y la escala es -127. Si la precisión es cero, entonces la columna es NUMBER. Otro número indica NUMBER(precisión, precisión).
statement
Un identificador de sentencia de OCI válido.
field
Puede ser un índice de campo (basado en 1) o un nombre.
Devuelve la precisión como un entero, o FALSE
en caso de error.
Ejemplo #1 Ejemplo de oci_field_precision()
<?php
// Crear la tabla con:
// CREATE TABLE mytab (c1 NUMBER, c2 FLOAT, c3 NUMBER(4), c4 NUMBER(5,3));
$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); // Use OCI_DESCRIBE_ONLY if not fetching rows
$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; $i++) {
echo oci_field_name($stid, $i) . " "
. oci_field_precision($stid, $i) . " "
. oci_field_scale($stid, $i) . "<br>\n";
}
// Salidas:
// C1 0 -127
// C2 126 -127
// C3 4 0
// C4 5 3
oci_free_statement($stid);
oci_close($conn);
?>
Nota:
En versiones de PHP anteriores a la 5.0.0 se debe usar ocicolumnprecision() en su lugar. Este nombre aún se puede usar; se dejó como un alias de oci_field_precision() por razones de retrocompatibilidad. Sin embargo, este nombre es obsoleto y no se recomienda.