Ο Microsoft SQL Server υποστηρίζει επτά ξεχωριστές κατηγορίες δεδομένων. Από αυτά, δυαδικών συμβολοσειρών επιτρέπουν την κωδικοποίηση δεδομένων που αντιπροσωπεύονται ως δυαδικά αντικείμενα.
Οι τύποι δεδομένων στην κατηγορία δυαδικών συμβολοσειρών περιλαμβάνουν:
- κομμάτι οι μεταβλητές αποθηκεύουν ένα μόνο bit με τιμή 0, 1 ή NULL.
- δυαδικό (n) αποθήκευση μεταβλητών n byte δυαδικών δεδομένων σταθερού μεγέθους. Αυτά τα πεδία ενδέχεται να αποθηκεύουν έως και 8.000 byte.
- ανασυνδυασμένο (ν) μεταβλητές αποθηκεύουν δυαδικά δεδομένα μεταβλητού μήκους περίπου n bytes. Μπορούν να αποθηκεύουν έως και 8.000 byte.
- varbinary (max) μεταβλητές αποθηκεύουν δυαδικά δεδομένα μεταβλητού μήκους περίπου n bytes. Μπορούν να αποθηκεύουν το πολύ 2 GB και να αποθηκεύουν πραγματικά το μήκος των δεδομένων συν επιπλέον δύο byte.
- εικόνα οι μεταβλητές αποθηκεύουν δεδομένα έως 2 GB και χρησιμοποιούνται συνήθως για την αποθήκευση οποιουδήποτε τύπου αρχείου δεδομένων (όχι μόνο εικόνων).
ο εικόνα είναι προγραμματισμένη για απόσβεση σε μια μελλοντική έκδοση του SQL Server. Οι μηχανικοί της Microsoft συστήνουν τη χρήση varbinary (max) αντί εικόνα τύπους για μελλοντική ανάπτυξη.
Κατάλληλες χρήσεις
Χρήση κομμάτι στήλες όταν πρέπει να αποθηκεύσετε ναι ή όχι είδη δεδομένων όπως αντιπροσωπεύονται από μηδενικά και αυτά. Χρήση δυάδικος στήλες όταν το μέγεθος των στηλών είναι σχετικά ομοιόμορφο. Χρήση varbinary στήλες όταν το μέγεθος στήλης αναμένεται να υπερβεί τα 8Κ ή μπορεί να υπόκειται σε σημαντική μεταβλητότητα στο μέγεθος ανά εγγραφή.
Μετατροπές
Το T-SQL - η παραλλαγή της SQL που χρησιμοποιείται στον Microsoft SQL Server - τα δεδομένα δεξιόστροφα όταν μετατρέπετε από οποιοδήποτε τύπο συμβολοσειράς σε a δυάδικος ή varbinary τύπος. Οποιαδήποτε άλλη μετατροπή τύπου σε δυαδικό τύπο αποδίδει ένα αριστερό πεδίο. Αυτή η επένδυση πραγματοποιείται μέσω της χρήσης δεκαδικών μηδέν.
Λόγω αυτής της μετατροπής και του κινδύνου περικοπής, εάν το πεδίο μετά τη μετατροπή δεν είναι αρκετά μεγάλο, είναι πιθανό τα πεδία που έχουν μετατραπεί να οδηγήσουν σε αριθμητικά σφάλματα χωρίς να πετάξουν ένα μήνυμα σφάλματος.