SQL Datetime: Όλα όσα πρέπει να γνωρίζετε



Αυτό το άρθρο σχετικά με την ώρα δεδομένων sql θα σας βοηθήσει να καταλάβετε πώς να πληκτρολογείτε χρόνο ώρας και επίσης πώς να μετατρέψετε από άλλους τύπους ημερομηνίας και ώρας σε ώρα ώρας

Κατά περιόδους που αφορούν την ημερομηνία και την ώρα SQL μπορεί να είναι αρκετά δύσκολο. Ενώ η ημερομηνία και η ώρα είναι πραγματικά εντελώς διαφορετικοί τύποι δεδομένων, συχνά συγχωνεύονται σε έναν τύπο δεδομένων ημερομηνίας ώρας. Ημερομηνίες και ώρες SQL από μόνες τους είναι αρκετά απλές αλλά η συγχώνευση των δύο μπορεί να είναι μια από τις πιο οδυνηρές εργασίες. Σε αυτό το άρθρο, θα μάθετε λεπτομερώς τον τύπο χρόνου χρόνου SQL.

Ποιος είναι ο τύπος δεδομένων της ώρας δεδομένων;

Στο SQL, ημερομηνία ώρα ο τύπος δεδομένων ημερομηνίας χρησιμοποιείται για τιμές που περιέχουν ημερομηνία και ώρα. Microsoft το ορίζει ως ημερομηνία σε συνδυασμό με μια ώρα της ημέρας με κλασματικά δευτερόλεπτα που βασίζεται σε ένα 24ωρο ρολόι .





Η SQL συγκεκριμένα, έχει πολλούς τύπους δεδομένων που συνδυάζουν τις παραστάσεις ημερομηνίας και ώρας καθιστώντας τα πράγματα πιο περίπλοκα. Το πιο ευρέως χρησιμοποιούμενο είναι το DATETIME, όπως υπήρχε από τις προηγούμενες εκδόσεις του SQL. Η SQL ανακτά και εμφανίζει τιμές DATETIME σε μορφή «ΕΕΕΕ-ΜΜ-ΗΗ ωω: mm: ss». Το υποστηριζόμενο εύρος είναι «1753-01-01 00:00:00» έως «9999-12-31 23: 59: 59,997». Ας εξερευνήσουμε τον τύπο ημερομηνίας με περισσότερες λεπτομέρειες.

περιγραφή χρόνου

Ελέγξτε τον παρακάτω πίνακα για να μάθετε περισσότερα σχετικά με τον τύπο χρόνου ώρας SQL.



Ιδιοκτησία αξία

Σύνταξη

ημερομηνία ώρα

Χρήση



ΔΗΛΩΣΤΕ @MyDatetimeημερομηνία ώρα

ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ Πίνακας 1 (Στήλη1ημερομηνία ώρα)

Μορφή

«ΕΕΕΕ-ΜΜ-ΗΗ ωω: mm: ss.nnn

Εύρος χρόνου

00:00:00 έως 23: 59: 59,997

Εύρος στοιχείων

  • Το ΕΕΕΕ είναι τέσσερα ψηφία από το 1753 έως το 9999 που αντιπροσωπεύουν ένα χρόνο.
  • Το MM είναι δύο ψηφία, που κυμαίνεται από 01 έως 12, που αντιπροσωπεύει ένα μήνα στο καθορισμένο έτος.
  • Το DD είναι δύο ψηφία, που κυμαίνεται από 01 έως 31 ανάλογα με το μήνα, που αντιπροσωπεύει μια ημέρα του συγκεκριμένου μήνα.
  • hh είναι δύο ψηφία, που κυμαίνονται από 00 έως 23, που αντιπροσωπεύουν την ώρα.
  • mm είναι δύο ψηφία, που κυμαίνονται από 00 έως 59, που αντιπροσωπεύει το λεπτό.
  • Το ss είναι δύο ψηφία, που κυμαίνεται από 00 έως 59, που αντιπροσωπεύει το δεύτερο.
  • Το n * είναι μηδέν έως τρία ψηφία, από 0 έως 999, που αντιπροσωπεύουν τα κλασματικά δευτερόλεπτα.

Μέγεθος αποθήκευσης

t sql ημερομηνία δεδομένων τύπου

8 byte

Προεπιλεγμένη τιμή

1900-01-01 00:00:00

Ημερολόγιο

Gregorian (Περιλαμβάνει το πλήρες φάσμα των ετών.)

Σημείωση: Οι παραπάνω λεπτομέρειες ισχύουν για τον τύπο ημερομηνίας στο Transact-SQL καιΔιακομιστής SQL.

Λοιπόν, αυτό είναι ημερομηνία ώρα σε SQL. Αλλά τι θα κάνατε αν έχετε άλλη ημερομηνία &τύπους χρόνου και πρέπει να τους μετατρέψετε σε ημερομηνία ώρα τύπος?

Μετατροπή άλλων τύπων ημερομηνίας και ώρας στον τύπο δεδομένων χρόνου ώρας

ο ημερομηνία ώρα τύπος δεδομένων σε SQL περιλαμβάνει την ημερομηνία και την ώρα, με ένα τμήμα 3 ψηφίων κλασματικών δευτερολέπτων. Η ακρίβειά του στρογγυλοποιείται σε προσαυξήσεις των 0,000, 0,003 ή 0,007 δευτερολέπτων. Έτσι, όταν μετατρέπετε ένα ημερομηνία ή χρόνος τιμές σε ημερομηνία ώρα , επιπλέον πληροφορίες προστίθενται στην τιμή. Αυτό συμβαίνει επειδή το ημερομηνία ώρα ο τύπος δεδομένων περιέχει ημερομηνία και ώρα. Αυτό το μέρος του άρθρου εξηγεί τι συμβαίνει όταν άλλο ημερομηνία και ώρα οι τύποι δεδομένων μετατρέπονται σε ημερομηνία ώρα Τύπος δεδομένων.

Παράδειγμα 1: Σιωπηρή μετατροπή μεταξύ ημερομηνίας και ώρας

DECLARE @ ημερομηνία ημερομηνία = '2020-12-01' ΔΗΛΩΣΗ @ ημερομηνία χρόνου ώρα = @ ημερομηνία

Αποτέλεσμα

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Παράδειγμα 2: Σιωπηρή μετατροπή μεταξύ ημερομηνίας και ώρας με χρήση CAST ()

DECLARE @thedate date = '2020-12-01' SELECT @thedate AS 'date', CAST (@thedate AS datetime) AS 'ώρα ώρας'

Αποτέλεσμα

@datetime @date ------------------------- ---------- 2016-12-21 00: 00: 00.000 2016 -12-21

Παράδειγμα 3: Σιωπηρή μετατροπή από το smalldatetime σε ώρα

Όταν η μετατροπή είναι από s malldatetime τύπος, αντιγράφονται οι ώρες και τα λεπτά. Τα δευτερόλεπτα και τα κλασματικά δευτερόλεπτα ορίζονται στην τιμή 0. Ο παρακάτω κώδικας δείχνει τα αποτελέσματα της μετατροπής a μικρή ώρα τιμή σε ένα ημερομηνία ώρα αξία.

ΔΗΛΩΣΗ @smalldatetime smalldatetime = '2020-12-01 12:32' DECLARE @datetime datetime = @smalldatetime SELECT @datetime AS '@datetime', @smalldatetime AS '@smalldatetime'

Αποτέλεσμα

@datetime @smalldatetime ------------------------- --------------------- - 2016-12-01 12: 32: 00.000 2016-12-01 12:32:00

Ομοίως, μπορείτε να μετατρέψετε άλλους ημερομηνία ώρα τύποι σε ώρα δεδομένων πληκτρολογήστε είτε σιωπηρά είτε χρησιμοποιώντας εκμαγείο() και μετατρέπω() μεθόδους. Για αναφορά, δείτε τον παρακάτω πίνακα για να εξοικειωθείτε με τις μορφές όλων των τύπων ημερομηνίας και ώρας.

Τύπος δεδομένων Παράδειγμα

χρόνος

12:35:29. 1234567

ημερομηνία

2007-05-08

μικρή ώρα

2007-05-08 12:35:00

ημερομηνία ώρα

2007-05-08 12: 35: 29.123

ώρα χρόνου2

2007-05-08 12:35:29. 1234567

χρονοδιάγραμμα

2007-05-08 12: 35: 29.1234567 +12: 15

Με αυτό, φτάσαμε στο τέλος αυτού του άρθρου. Ελπίζω να είστε ξεκάθαροι για το περιεχόμενο που συζητήθηκε εδώ. Βεβαιωθείτε ότι ασκείστε όσο το δυνατόν περισσότερο και επαναφέρετε την εμπειρία σας.

Εάν θέλετε να μάθετε περισσότερα για MySQL και γνωρίστε αυτήν τη σχεσιακή βάση δεδομένων ανοιχτού κώδικα και, στη συνέχεια, ρίξτε μια ματιά στη δική μας που έρχεται με ζωντανή εκπαίδευση με καθοδήγηση εκπαιδευτή και πραγματική εμπειρία έργου. Αυτή η εκπαίδευση θα σας βοηθήσει να κατανοήσετε τη MySQL σε βάθος και να σας βοηθήσει να επιτύχετε την εξουσία πάνω στο θέμα.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου «Διαδικασίες σε SQL και θα επικοινωνήσουμε μαζί σας.