2017-01-01 8 views
1
SELECT * 
FROM Registration 
WHERE UserPass = CONVERT(VARBINARY(50),'5avag3',1); 

Ich versuche, dieses Kennwort in meiner Datenbank als Hash-Wert zu speichern. Momentan ist das Attribut UserPass binär und ich erhalte folgende Fehlermeldung:Konnte Datentyp nicht konvertieren

Implizite Konvertierung vom Datentyp varchar in binary ist nicht erlaubt. Verwenden Sie die CONVERT-Funktion, um diese Abfrage auszuführen.

Code:

INSERT INTO [dbo].[Registration] ([LoginName], [UserPass], [FirstName],[LastName], [PIC], [DIC]) 
VALUES ('LogPaul', '', 'Logan', 'Paul', '', '690404-10-5827') 

Wenn ich versuche, den Datentyp zu konvertieren es sagt, ich bin nicht in der Lage zu konvertieren.

Bitte helfen Ich bin neu in SQL, danke im voraus

+0

Welche RDBMS ist das? Bitte fügen Sie ein Tag hinzu, um anzugeben, ob Sie 'mysql',' postgresql', 'sql-server',' oracle' oder 'db2' verwenden - oder etwas ganz anderes. –

+0

@marc_s Ich benutze MS SQL Server 2016 –

Antwort

0

nur die Konvertierung durchführen innerhalb der tatsächlichen INSERT Anweisung binär:

INSERT INTO [dbo].[Registration] ([LoginName], [UserPass], [FirstName], [LastName], 
            [PIC], [DIC]) 
VALUES 
    ('LogPaul', CONVERT(VARBINARY(50),'5avag3',1), 'Logan', 'Paul', '', 
    '690404-10-5827') 
+0

danke für die Hilfe, aber ich folgte, aber ich bekomme immer noch "Fehler beim Konvertieren von Datentyp varchar zu varbinary." –

+0

Was ist der Typ der 'DIC'-Spalte? –

+0

DIC-Spalte ist der Fremdschlüssel aus einer anderen Tabelle namens Driver, ich habe es null gesetzt –

Verwandte Themen