So che esiste una funzione chiamata isdate() per convalidare le colonne datetime, ma funziona solo per i tipi smalldatetime e datetime. La domanda è: esiste un modo simile per convalidare il nuovo tipo di dati datetime2 in sql server 2008 e 2012?Esiste una funzione come isdate() per datetime2?
risposta
In SQL Server 2012, è possibile utilizzare TRY_CONVERT
:
SELECT TRY_CONVERT(DATETIME2, '2012-02-02 13:42:55.2323623'),
TRY_CONVERT(DATETIME2, '2012-02-31 13:42:55.2323623');
Risultati:
2012-02-02 13:42:55.2323623 NULL
O TRY_PARSE
: (. Gli stessi risultati)
SELECT TRY_PARSE('2012-02-02 13:42:55.2323623' AS DATETIME2),
TRY_PARSE('2012-02-31 13:42:55.2323623' AS DATETIME2);
dispiace che io non ho una risposta intelligente per voi per < 2012. Si potrebbe, immagino, dire
SELECT ISDATE(LEFT('2012-02-02 13:42:55.2323623', 23);
Ma che si sente sporca.
TRY_CONVERT
documentation on MSDN
TRY_PARSE
documentation on MSDN
nice one ................ –
Risposta intelligente! Mi è piaciuto molto! Un'altra domanda sul datetime2 in SQL Server 2008, c'è un modo per verificare la data valida quando il valore è qualcosa come prima di "1 gennaio 1753"? Usando questo comando verrebbe data non valida SELECT ISDATE (SINISTRA ('2012-02-02 13: 42: 55.2323623', 23)); – Vladimir
@ Vladimir scusa ho appena notato la tua domanda ora. È accademico o hai davvero date <1753? –
- 1. Funzione IsDate in SQL valuta date non valide come valido
- 2. come lanciare datetime2 come datetime
- 3. Esiste una funzione haskell per i preventivi?
- 4. Scrittura di un equivalente IsDate() in C#?
- 5. Esiste una funzione mappa?
- 6. Esiste una funzione come _compile_select o get_compiled_select()?
- 7. Che cos'è datetime2?
- 8. Esiste una funzione integrata per copiare una directory in Dart?
- 9. Come controllare una DLL se esiste una funzione?
- 10. Esiste una funzione equivalente PHP per Python os.path.normpath()?
- 11. Esiste una funzione simile a setTimeout() (JavaScript) per PHP?
- 12. Esiste una funzione Joomla per generare il campo "alias"?
- 13. Esiste una funzione per convertire UIColor in Tonalità luminosità saturazione?
- 14. Esiste una funzione in linguaggio C per calcolare gradi/radianti?
- 15. Esiste una funzione left() per le stringhe Java?
- 16. Esiste una funzione cmake per aggiornare i file .pot?
- 17. Esiste già una funzione come questa? (Oppure, qual è il nome migliore per questa funzione?)
- 18. Esiste una funzione `printk()` che supporta `va_list`?
- 19. Esiste una funzione "elemento pronto" in jQuery?
- 20. Esiste una funzione opposta della funzione slice in Ruby?
- 21. Clojure: determina se esiste una funzione
- 22. Esiste una funzione di scala identità?
- 23. Esiste una funzione standard di Delphi per l'escape dell'HTML?
- 24. Esiste una funzione R per numero formato utilizzando unità prefisso
- 25. Scrive una funzione per rimuovere l'oggetto se esiste
- 26. Esiste una funzione short contiene per gli elenchi?
- 27. Esiste una funzione di previsione per PLM in R?
- 28. Esiste una funzione standard per iterare sulle classi base?
- 29. Esiste una funzione integrata per le citazioni F # leggibili dall'uomo?
- 30. differenza tra DateTime e DateTime2
strettamente parlando ISDATE() non convalida colonne datetime; esso convalida se un'espressione può essere analizzata come un datetime. Dopo che è in una colonna è un po 'tardi! –
@MitchWheat è un buon punto. Sembra più probabile convalidare (a) date memorizzate in modo errato in una colonna varchar o (b) parametri di input che sono di un tipo di dati errato. –
Desidero convalidare l'input da un foglio Excel con alcune colonne di data in una tabella temporanea. – Vladimir