Μήπως το εκτέλεσες μέσα σε transaction μαζί με τίποτε άλλο? Ούτε σε εμένα έχει πρόβλημα.
Το query το ίδιο όμως έχει πρόβλημα. Είναι περιττές οι πολλές μετατροπές σε varchar με αποτέλεσμα να βγαίνει πολύ πιο αργό απ' ότι χρειάζεται. Μπορείς να γράψεις το παρακάτω:
If (Substring('16/1',1,2) = day(getdate()) and (Substring('16/1',4,5) = Month(getdate())))
print 'hello'
Άφησα το Substring('16/1',4,5) γιατί η Subscring θα επιστρέψει '1' επειδή δεν θα βρει άλλους χαρακτήρες. Αν όμως είχες περάσει ολόκληρη ημερομηνία, π.χ. 16/1/2008 θα είχες πρόβλημα. Δοκίμασε να δεις τα execution plans των δύο statements και θα δεις ότι το δεύτερο γίνεται ένα απλό βήμα ενώ αυτό που είχες γράψει 3 βήματα.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos