Περισσότερα
Πώς μπορώ να κάνω ερώτημα για όλες τις ημερομηνίες που είναι μεγαλύτερες από μια συγκεκριμένη ημερομηνία στον SQL Server;
Προσπαθώ:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
μοιάζει με: 2010-03-04 00:00:00.000
Ωστόσο, αυτό δεν λειτουργεί.
Μπορεί κάποιος να δώσει μια αναφορά για το γιατί;
307
3
Στο ερώτημά σας, το "2010-4-01" αντιμετωπίζεται ως μαθηματική έκφραση, οπότε στην ουσία διαβάζεται
(
2010 μείον 4 μείον 1 είναι 2005
Η μετατροπή της σε σωστήdatetime
και η χρήση μονών εισαγωγικών θα διορθώσει αυτό το πρόβλημα).Τεχνικά, ο αναλυτής μπορεί να σας επιτρέψει να ξεφύγετε με
θα κάνει τη μετατροπή για εσάς, αλλά κατά τη γνώμη μου είναι λιγότερο ευανάγνωστο από τη ρητή μετατροπή σε
DateTime
για τον προγραμματιστή συντήρησης που θα έρθει μετά από εσάς.Δοκιμάστε να περικλείσετε την ημερομηνία σας σε μια συμβολοσειρά χαρακτήρων.
Πρώτα μετατρέψτε το TexBox σε Datetime και στη συνέχεια....use αυτή τη μεταβλητή στο Query