Select the product you need help with
PRB: Απώλεια ακρίβειας ενδέχεται να παρουσιαστεί κατά τη χρήση της SUM ή AVG λειτουργίες σε έναν τύπο με διαίρεσηΑναγν. άρθρου: 281341 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο. ΣυμπτώματαΌταν χρησιμοποιείτε τη συνάρτηση συγκεντρωτικών αποτελεσμάτων SUM ή AVG με διαίρεση, το αποτέλεσμα χάνει την ακρίβεια. Η απώλεια ακρίβειας παρουσιάζεται ανεξάρτητα από το αν χρησιμοποιούν έναν τύπο αριθμητικών ή δεκαδικών δεδομένων. ΑιτίαΑυτή η συμπεριφορά είναι λόγω για τη φύση του τύπους δεκαδική και αριθμητικών δεδομένων και την περικοπή που προκύπτει ως αποτέλεσμα της την ακρίβεια και κλίμακα τιμών. Σύμφωνα με SQL Server ηλεκτρονικά εγχειρίδια, το αποτέλεσμα της sum(numeric(p,s)) είναι numeric(38,s). Στην περίπτωση του προηγούμενου, sum(amount) είναι numeric(38,9). Όταν έχετε μια έκφραση numeric(38,9) / numeric(15,9), θεωρητικά, το αποτέλεσμα είναι numeric(63,25). Ωστόσο, επειδή η μέγιστη ακρίβεια 38, περικόπτει το αποτέλεσμα σε (38,6). Εναλλακτικός τρόπος αντιμετώπισηςΓια να επιλύσετε αυτήν τη συμπεριφορά, χρησιμοποιήστε μία από τις εξής μεθόδους:
Περισσότερες πληροφορίεςΓια να αναπαραγάγετε τη συμπεριφορά, εκτελέστε το παρακάτω ερώτημα από το Query Analyzer: Ωστόσο, εάν χρησιμοποιείτε αυτόν τον κωδικό Η απώλεια ακρίβειας δεν προκύπτει, εάν δώσετε μια ρητή τιμή ως παρονομαστή. Απώλεια ακρίβειας δεν παρουσιάζεται εάν τοποθετήσετε στην τιμή του αθροίσματος: ΙδιότητεςΑναγν. άρθρου: 281341 - Τελευταία αναθεώρηση: Κυριακή, 19 Δεκεμβρίου 2010 - Αναθεώρηση: 2.0 Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
Μηχανικά μεταφρασμένο ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης. Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:281341
(http://support.microsoft.com/kb/281341/en-us/
)
|




Επιστροφή στην αρχή








