Ich bin nicht besonders gut im Umgang mit Datenbanken, aber gibt es eine Möglichkeit, binäre Daten als eine Art von Basis 2 Strings darzustellen? Ich benutze TSQL. Was immer ich auch mache, ich bekomme binäre Werte, die bestenfalls als 16 Strings dargestellt werden. Zum Beispiel habe ich, sagen wir, 500
in einer Zelle und ich möchte es als '0b111110100' anstatt '0x01F4' angezeigt/behandelt werden. DieseKonvertiere Base 16 Strings zu Base 2 Strings in Tsql
CONVERT(VARCHAR, cast(500 as binary(2)), 1)
gibt 0x01F4
während ich 111110100
oder dergleichen erhalten möchten.
Ich habe keine geeigneten integrierten Funktionen gefunden. Jedoch stieß ich auf eine schreckliche und recht komplizierte Prozedur, um Basis 16 Saiten in Basis 2 Saiten umzuwandeln. Auch könnte ich darüber nachdenken, verschachtelte replace()
Aufrufe auf die Werte zu verwenden, F
durch 1111
usw. zu ersetzen, aber es fühlt sich nicht richtig an.
Der ganze Zweck ist es, Werte mit mindestens 4 1
s in einer Reihe in ihrer Binärdarstellung zu finden. Mein Ansatz: Wenn ich sie wie '0b111110100' aussehen lassen könnte, wäre es so einfach wie LIKE %1111%
. Oder mache ich es falsch?
Sehen Sie, ob dies hilft. Diese Funktion wird in eine binäre Zeichenfolge konvertiert, dann können Sie nach dem suchen, was Sie wollen. http://dpatrickcaldwell.blogspot.com/2009/05/converting-decimal-to-hexadecimal-with.html –
danke! Ich werde es mir ansehen. Diese Funktion wirkt weniger einschüchternd als die, auf die ich früher gestoßen bin. – curveball
Sie können sich auch auf dieses beziehen es ist bereits gefragt und beantwortet Ich hoffe, es hilft Ihnen: [sql-convert-number-to-string-Darstellung-von-jeder-Base-binär-hexadezimal] (https://stackoverflow.com/questions/33092823/sql-convert-number-to-string-Darstellung von Any-Base-Binär-Hexadezimal – Azizi