Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 3676|Απάντηση: 0

[Πηγή] Ο SQL Server βρίσκει τα δεδομένα που μετατρέπει το varchar σε σφάλμα bigint

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 12/8/2023 5:19:55 μ.μ. | | | |
απαιτήσεις: Όταν η βάση δεδομένων του SQL Server εκτελεί μια δήλωση ερωτήματος, το πεδίο που επιστρέφεται είναι τύπου varchar, το οποίο πρέπει να μετατραπεί σε τύπο bigint και, στη συνέχεια, θα αναφερθεί ένα σφάλμα εάν συναντήσει μια συμβολοσειρά όπως ένα γράμμα.Σφάλμα κατά τη μετατροπή από τύπο δεδομένων varchar σε bigint.”。

Υπάρχουν δύο λύσεις:

1. Μάθετε τα δεδομένα σφάλματος και διορθώστε τα
2. Με τη συνάρτηση TRY_CAST, εάν η μετατροπή αποτύχει, επιστρέφει NULL

Εάν χρησιμοποιήσετε τη Λύση 1 σε αυτό το άρθρο, το σφάλμα θα αναφερθεί ως εξής, πώς να βρείτε λάθος δεδομένα;



Για να μάθετε τα δεδομένα σφάλματος, μπορείτε να χρησιμοποιήσετε τοTRY_CASTΑΡΙΘΜΗΤΙΚΟTRY_CONVERTΗ συνάρτηση επιλύεται, το ISNUMERIC αντιμετωπίζει ένα σφάλμα και τα δεδομένα επιστρέφουν 0, TRY_CAST TRY_CONVERT η μετατροπή αποτυγχάνει να επιστρέψει NULL, όπως φαίνεται στο παρακάτω σχήμα:




Σενάριο δοκιμής:

(Τέλος)





Προηγούμενος:Επιλύθηκε το σφάλμα Dapper.Contrib "Η τιμή είναι πολύ μεγάλη ή πολύ μικρή για το Int32"
Επόμενος:Το .NET/C# υλοποιεί τον προσαρμοσμένο συγκριτή IEqualityComparer
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com