2010-10-27 9 views
3

Je suis conscient que mysql ne supporte pas le stockage des colonnes d'horodatage avec une précision de millisecond.Fonction Mysql pour générer un horodatage de précision en millisecondes en tant que BIGINT (13)

Ma question: y a-t-il une fonction mysql que je pourrais écrire qui produira l'heure actuelle sous la forme d'une précision BIGINT (13) à millisecondes.

Par exemple, comme aujourd'hui() produit un horodatage:

mysql> select now(); 
+---------------------+ 
| now()    | 
+---------------------+ 
| 2010-10-27 11:24:23 | 
+---------------------+ 

Je voudrais écrire une fonction MySQL, par exemple ts() qui délivre un bigint (13), par exemple

mysql> select ts(); 
+---------------------+ 
| ts()    | 
+---------------------+ 
| 1288172185517  | 
+---------------------+ 

Mes raisons de vouloir cela est d'être en mesure de remplir la valeur par défaut d'une colonne avec la valeur des ts de fonction()

de e..g

`MY_TIMESTAMP_COLUMN` BIGINT(13) DEFAULT ts(), 

Répondre

0

L'article lien auquel vous avez posté fait référence à une mise en œuvre d'une telle fonction:

http://bugs.mysql.com/bug.php?id=8523

Si vous remplacez un appel à sprinf par tv.tv_sec * 1000000 + tv.tv_usec, la fonction renvoie l'heure locale en nombre de microsecondes depuis l'époque.