(PHP 5, PHP 7, PECL OCI8 >= 1.1.0)
oci_field_scale — Lit l'échelle d'une colonne Oracle
Lit l'échelle d'une colonne Oracle.
Pour les colonnes de type FLOAT, la précision et non nulle, et l'échelle est de -127. Si la précision est 0, alors la colonne est de type NUMBER. Sinon, elle est de type NUMBER(precision, scale).
statementUn identifiant de requête OCI valide.
fieldPeut être un index de champ (en commençant à 1) ou le nom d'un champ.
Retourne l'échelle, sous la forme d'un entier, ou FALSE si une erreur survient.
Exemple #1 Exemple avec oci_field_scale()
<?php
// Création de la table avec :
// 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); // Utilisation de OCI_DESCRIBE_ONLY si aucune ligne n'est récupérée
$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";
}
// Affiche :
// C1 0 -127
// C2 126 -127
// C3 4 0
// C4 5 3
oci_free_statement($stid);
oci_close($conn);
?>
Note:
Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocicolumnscale(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_field_scale(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.