la manière de voter, le code hexadécimal de la varchar(datetime)?
J'ai la date de l'exportation est "CAST(0x0000987C00000000 COMME DateTime)" mais quand je veux le récupérer en datetime.C'est une valeur NULL. comment puis-je obtenir de type datetime de nouveau.
Quel type de valeur datetime attendez-vous de cela? Pas sûr que je comprends.
Oh la la... Comment vous est venue cette valeur hexadécimale?
Retourne
Comment puis-je obtenir 2006-11-17?.Parce que, je l'utilise im mysql, mais il retourne la valeur null.
Vous pouvez utiliser
Oh la la... Comment vous est venue cette valeur hexadécimale?
Retourne
2006-11-17 00:00:00.000
pour moi dans SQL Server. Êtes-vous essayer d'utiliser le format binaire SQL Server MySQL? Je ne sais pas pourquoi vous voulez le faire, mais de toute façon c'est stockée sous forme de 2 entiers avec les 4 premiers octets d'être les jours depuis le 1er janvier 1900 et le 2ème étant le nombre de tiques depuis minuit (à chaque itération en cours de 0,33 ms)Comment puis-je obtenir 2006-11-17?.Parce que, je l'utilise im mysql, mais il retourne la valeur null.
Vous pouvez utiliser
SELECT cast('1900-01-01 00:00:00' + INTERVAL CAST(0x0000987C AS SIGNED) DAY + INTERVAL CAST(0x00000000 AS SIGNED)/300 second as datetime)
OriginalL'auteur Zrot | 2011-02-09
Vous devez vous connecter pour publier un commentaire.
Qui ressemble à celle de SQL Server
datetime
format. En interne, c'est stockée sous forme de 2 entiers avec les 4 premiers octets d'être les jours depuis le 1er janvier 1900 et le 2ème étant le nombre de tiques depuis minuit (à chaque itération en cours de 1/300 de seconde).Si vous avez besoin de l'utiliser dans MySQL que vous pourriez faire
Retourne
(Merci à Ted Hopp pour la solution de diviser les données binaires)
HEX(0x0000987C00000000 & 0xFFFFFFFF), HEX(0x0000987C00000000 >> 32);
Merci! Aucune idée pourquoi
CAST(substr(BinaryData,1,4) AS SIGNED)
ne fonctionne pas? Si je ne l'SELECT substr(BinaryData,1,4)
et de le regarder dans le BLOB spectateur dans SQL workbench, il semble identique à celle montrée si je neSELECT 0x0000987C
Ça ne marche pas quand j'essaie de le brancher dans ma réponse.
cast(HEX(0x0000987C00000000 >> 32)as signed)
retourne987
il semble que de la traiter comme une chaîne binaire pas. Des idées?J'ai ajouté
HEX()
juste pour visualtion fins. NeSELECT cast(0x0000987C00000000 >> 32 as signed);
OriginalL'auteur Martin Smith
N'ajoute pas vraiment ce qui n'a pas été précisé, mais j'ai utilisé pour créer une base de données MySql fonction dans le code ci-dessus. Je peux alors utiliser une RegEx rechercher et remplacer (dans Notepad++) pour remplacer le plâtre(0xblahblahblah COMME DATETIME) avec sp_ConvertSQLServerDate(0xblahblahblah).
Exactement ce dont j'avais besoin pour aider à convertir en quelque chose de SiteFinity pour WordPress. Merci!
OriginalL'auteur Christopher Marshall
C'est la même instruction select pour PostgreSQL:
PostgreSQL bits(32) les valeurs de commencer avec 'x' valeur au lieu de 0.
OriginalL'auteur magoderre
Voici un programme Java que j'ai fait.
Le programme scanne le fichier donné (changement de nom sur le code ci-dessous) pour
et les remplace avec leurs
.
Par exemple, en considérant que
SELECT CAST (0x00009CEF00A25634 as datetime)
retourne2009-12-30 09:51:03.000
, le programme analyse le fichier pourCAST(0x00009CEF00A25634 AS DateTime)
et les remplace par desCAST('2009-12-30 09:51:03.000' AS DateTime)
.Je l'ai utilisé pour convertir un Serveur SQL script généré à quelque chose d'un H2 de base de données intégré pourrait comprendre.
Bien il a bien fonctionné pour moi, je vous conseille de le vérifier (il suffit d'exécuter sur des données de test et de voir) avant de l'utiliser sur des données réelles.
OriginalL'auteur acdcjunior
À l'aide de notepad++ regex pour remplacer
Ce sera de remplacer les
à
OriginalL'auteur Fernando Reis Guimaraes
MSSQL code hexadécimal de la date et dateTime sont différents.
Pour la date de fomate comme 0x00000000 vous pouvez utiliser cette postgres fonction:
puis essayez
OriginalL'auteur Aleph
Pour ceux qui recherchent une solution en C#. Par exemple lors de la lecture de script de base de données.
Ici, j'ai utilisé les regex depuis mon entrée est de la forme suivante "CAST(0x0000A53E00E1A17B COMME DateTime)", mais vous pouvez utiliser SubString() ou que ce soit pour obtenir la Dateheure chaîne.
OriginalL'auteur Arthur