Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

jTDS riporta in modo errato le informazioni sul tipo di dati nei metadati del set di risultati (per le colonne DATE, riporta NVARCHAR)

Ho trovato una soluzione con la condizione

metaData.getColumnType(columnNumber) == 12

se questa condizione è soddisfatta, eseguire la query

SELECT System_Type_Id FROM Sys.Columns WHERE Name = [column name] AND Object_Id = (SELECT Object_Id FROM Sys.Tables WHERE Name = [table name])

per smalldatetime restituirà 58

e per datetime restituirà 61 .