sql >> Database teknologi >  >> RDS >> Sqlserver

Hashing mere end 8000 bytes i SQL Server

Du kan skrive en SQL CLR-funktion:

[Microsoft.SqlServer.Server.SqlFunction]
public static SqlBinary BigHashBytes(SqlString algorithm, SqlString data)
{
    var algo = HashAlgorithm.Create(algorithm.Value);

    var bytes = Encoding.UTF8.GetBytes(data.Value);

    return new SqlBinary(algo.ComputeHash(bytes));
}

Og så kan det kaldes i SQL sådan her:

--these return the same value
select HASHBYTES('md5', 'test stuff')
select dbo.BigHashBytes('md5', 'test stuff')

BigHashBytes er kun nødvendigt, hvis længden ville være over 8k.



  1. Hvordan kan jeg skrive en brugerdefineret funktion i MySQL, så når jeg sletter en række fra en tabel, bliver den pågældende række fra en anden tabel også slettet?

  2. SqlDataAdapter.Fill() - Konverteringsoverløb

  3. Kan den Oracle-administrerede driver bruge async/afvent korrekt?

  4. Oprettelse af tabeller og problemer med primær nøgle i Rails