août 2011
2
Après avoir passé du temps sur quelques petits accrochages, je partage aujourd’hui avec grand plaisir non pas une, mais deux astuces en SQL ! C’est gratuit, c’est cadeau, ça me fait plaisir.
La première te servira peut-être si tu utilises SOAP. SOAP c’est un peu comme le savon, sauf qu’au lieu de laver ça t’envoie des données XML via le protocole HTTP, cool non?
Bref, il arrive parfois qu’on ait besoin de convertir un champ SQL binaire en Base64, non ne pars pas, je te jure que ça arrive.
Tiens, mange ça.
Dans la requête « SELECT » tu remplaces bien entendu astucieusement les noms avec ceux de ta table et de ses champs.
La deuxième astuce te permettra d’obtenir le hash MD5 d’une chaine de caractères.
Tu peux laisser tes commentaires, même si tu comprends rien.
La première te servira peut-être si tu utilises SOAP. SOAP c’est un peu comme le savon, sauf qu’au lieu de laver ça t’envoie des données XML via le protocole HTTP, cool non?
Bref, il arrive parfois qu’on ait besoin de convertir un champ SQL binaire en Base64, non ne pars pas, je te jure que ça arrive.
Tiens, mange ça.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | -- Variable contenant les données binaires DECLARE @bin VARBINARY(MAX) -- Variable contenant ces données en base64 DECLARE @base64 VARCHAR(MAX) -- Récupération des données SET @bin = (SELECT TON_CHAMP_BINARY FROM TA_TABLE WHERE TA_CLE = UNE_VALEUR) -- Conversion SET @base64 = CAST(N'' AS XML).VALUE('xs:base64Binary(xs:hexBinary(sql:variable("@bin")))', 'VARCHAR(MAX)') -- Affichage SELECT @base64 AS 'Base64' |
Dans la requête « SELECT » tu remplaces bien entendu astucieusement les noms avec ceux de ta table et de ses champs.
La deuxième astuce te permettra d’obtenir le hash MD5 d’une chaine de caractères.
1 2 3 4 5 6 7 8 | -- Mot de passe DECLARE @password VARCHAR(200) = '12345' -- MD5 DECLARE @md5 VARCHAR(32) -- Conversion SET @md5 = (SELECT LOWER(SUBSTRING(CONVERT(VARCHAR(MAX),HashBytes('MD5', @password),1),3,32))) |
Tu peux laisser tes commentaires, même si tu comprends rien.









