Skip to main content

Binarne typy danych w SQL Server

Odejmowanie sposobem pisemnym liczb wielocyfrowych (Kwiecień 2025)

Odejmowanie sposobem pisemnym liczb wielocyfrowych (Kwiecień 2025)
Anonim

Microsoft SQL Server obsługuje siedem różnych kategorii danych. Tych, ciągi binarne pozwalają na zakodowane dane reprezentowane jako obiekty binarne.

Typy danych w kategorii ciągów binarnych obejmują:

  • kawałek zmienne przechowują pojedynczy bit o wartości 0, 1 lub NULL.
  • binarny (n) przechowuj zmienne n bajtów danych binarnych o ustalonym rozmiarze. Te pola mogą przechowywać maksymalnie 8 000 bajtów.
  • varbinary (n) zmienne przechowują binarne dane o zmiennej długości w przybliżeniu n bajty. Mogą przechowywać maksymalnie 8 000 bajtów.
  • varbinary (max) zmienne przechowują binarne dane o zmiennej długości w przybliżeniu n bajty. Mogą przechowywać maksymalnie 2 GB i faktycznie przechowywać długość danych plus dodatkowe dwa bajty.
  • obraz zmienne przechowują do 2 GB danych i są powszechnie używane do przechowywania dowolnego typu pliku danych (nie tylko obrazów).

The obraz Typ jest zaplanowany na wycofanie w przyszłej wersji programu SQL Server. Inżynierowie Microsoft zalecają użycie varbinary (max) zamiast obraz rodzaje dla przyszłego rozwoju.

Odpowiednie zastosowania

Posługiwać się kawałek kolumn, gdy musisz przechowywać tak lub nie rodzaje danych reprezentowane przez zer i jedynek. Posługiwać się dwójkowy kolumny, gdy rozmiar kolumn jest względnie jednolity. Posługiwać się varbinary kolumny, gdy wielkość kolumny ma przekroczyć 8K lub może podlegać znacznym zmiennym rozmiarom na rekord.

Konwersje

T-SQL - wariant SQL używany w Microsoft SQL Server - dane prawego pada podczas konwersji z dowolnego typu łańcucha znaków na dwójkowy lub varbinary rodzaj. Każda inna konwersja typu do typu binarnego daje lewą podkładkę. To dopełnianie odbywa się za pomocą heksadecymalnych zer.

Ze względu na tę konwersję i ryzyko obcinania, jeśli pole po konwersji nie jest wystarczająco duże, możliwe jest, że skonwertowane pola mogą spowodować błędy arytmetyczne bez wyświetlania komunikatu o błędzie.