Formate l'argument X
en un format comme
'#,###,###.##'
, arrondi à
D
décimales. Si D
vaut 0
, le résultat n'aura ni
séparateur décimal, ni partie décimale :
mysql>SELECT FORMAT(12332.123456, 4);
-> '12,332.1235' mysql>SELECT FORMAT(12332.1,4);
-> '12,332.1000' mysql>SELECT FORMAT(12332.2,0);
-> '12,332'
Tente de poser un verrou nommé str
, avec
un délai d'expiration (timeout
) exprimé
en seconde. Retourne 1
si le verrou a
été posé avec succès, 0
si il n'a pas
pu être posé avant l'expiration du délai et
NULL
si une erreur est survenu (comme par
exemple un manque de mémoire, ou la mort du thread
lui-même, par mysqladmin kill
). Un
verrou sera levé lorsque vous exécuterez la commande
RELEASE_LOCK()
,
GET_LOCK()
ou si le thread se termine.
Cette fonction peut être utilisée pour implémenter des
verrous applicatifs ou pour simuler des verrous de lignes.
Les requêtes concurrentes des autres clients de même nom
seront bloquées ; les clients qui s'entendent sur un nom
de verrou peuvent les utiliser pour effectuer des
verrouillages coopératifs :
mysql>SELECT GET_LOCK("lock1",10);
-> 1 mysql>SELECT IS_FREE_LOCK("lock2");
-> 1 mysql>SELECT GET_LOCK("lock2",10);
-> 1 mysql>SELECT RELEASE_LOCK("lock2");
-> 1 mysql>SELECT RELEASE_LOCK("lock1");
-> NULL
Notez que le deuxième appel à
RELEASE_LOCK()
retourne
NULL
car le verrou
"lock1"
a été automatiquement libéré
par le deuxième appel à GET_LOCK()
.
Retourne un entier qui représente l'expression numérique de l'adresse réseau. Les adresses peuvent être des entiers de 4 ou 8 octets.
mysql> SELECT INET_ATON("209.207.224.40");
-> 3520061480
Le nombre généré est toujours dans l'ordre des octets
réseau ; par exemple, le nombre précédent est calculé
comme ceci : 209*256^3 + 207*256^2 + 224*256
+40
.
Depuis MySQL 4.1.2, INET_ATON()
comprend
aussi les IP courtes :
mysql> SELECT INET_ATON('127.0.0.1'), INET_ATON('127.1');
-> 2130706433, 2130706433
INET_ATON()
a été ajouté en MySQL
3.23.15.
Retourne l'adresse réseau (4 ou 8 octets), de l'expression
numérique exp
:
mysql> SELECT INET_NTOA(3520061480);
-> "209.207.224.40"
Regarde si le verrou nommé str
peut
être librement utilisé (i.e., non verrouillé). Retourne
1
si le verrou est libre (personne ne
l'utilise), 0
si le verrou est
actuellement utilisé et NULL
si une
erreur survient (comme un argument incorrect).
Vérifie si le verrou appelé str
est
actuellement posé ou pas. Si c'est le cas, la fonction
retourne l'identifiant de connexion qui a le verrou. Sinon,
elle retourne NULL
.
IS_USED_LOCK()
a été ajouté en MySQL
version 4.1.0.
MASTER_POS_WAIT(log_name, log_pos)
Bloque le maître jusqu'à ce que l'esclave atteigne une
position donnée dans le fichier d'historique principal,
durant une réplication. Si l'historique principal n'est pas
initialisé, retourne NULL
. Si l'esclave
n'est pas démarré, le maître restera bloqué jusqu'à ce
que l'esclave soit démarré et ai atteint la position
demandée. Si l'esclave a déjà dépassé cette position,
la fonction se termine immédiatement. La valeur retournée
est le nombre d'évènements qui a du être traité pour
atteindre la position demandée, ou NULL
en cas d'erreur. Cette fonction est très utile pour
contrôler la synchronisation maître-esclave, mais elle a
été initialement écrite pour faciliter les tests de
réplications.
Libère le verrou nommé str
, obtenu par
la fonction GET_LOCK()
. Retourne
1
si le verrou a bien été libéré,
0
si le verrou n'a pas été libéré par
le thread (dans ce cas, le verrou reste posé) et
NULL
si le nom du verrou n'existe pas. Le
verrou n'existe pas si il n'a pas été obtenu par la
fonction GET_LOCK()
ou si il a déjà
été libéré.
La commande DO
est utilisable avec
RELEASE_LOCK()
. See Section 13.1.2, « Syntaxe de DO
».
Retourne un Universal Unique Identifier
(UUID)
généré grâce à ``DCE 1.1:
Remote Procedure Call'' (Appendix A) CAE (Common
Applications Environment) Specifications
, publié
par le The Open Group
en octobre 1997
(Document numéro C706
).
Un UUID est con¸u comme un numéro qui est globalement
unique dans l'espace, et le temps. Deux appels à
UUID()
sont supposés générer deux
valeurs différentes, même si ces appels sont faits sur
deux ordinateurs séparés, qui ne sont pas connectés
ensembles.
Un UUID est un nombre de 128 bits, représenté par une
chaîne de 5 nombres hexadécimaux, au format
aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
:
Les trois premiers nombres sont générés à partir d'un timestamp.
Le quatrième nombre préserver l'unicité temporelle si le timestamp perd sa monotonie (par exemple, à cause du changement d'heure d'hiver/été).
Le cinquième nombre est un nombre IEEE 802 qui fournit l'unicité. Un nombre aléatoire est utilisé la si ce dernier n'est pas disponible (par exemple, comme l'hôte n'a pas de carte Ethernet, nous ne savons pas comment trouver une adresse matériel sur le système d'exploitation). Dans ce cas, l'unicité spatiale ne peut être garantie. Néanmoins, une collision aura une très faible propriété.
Actuellement, l'adresse MAC est une interface utilisée sur FreeBSD et Linux. Sur les autres systèmes d'exploitation, MySQL génère un nombre aléatoire de 48 bits.
mysql> SELECT UUID();
-> '6ccd780c-baba-1026-9564-0040f4311e29'
Notez que UUID()
ne fonctionne pas encore
avec la réplication.
UUID()
a été ajoutée en MySQL 4.1.2.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.