Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

jTDS meldet fälschlicherweise Datentypinformationen in Metadaten der Ergebnismenge (für DATE-Spalten wird NVARCHAR gemeldet)

Ich habe eine Lösung mit der Bedingung

gefunden

metaData.getColumnType(columnNumber) == 12

wenn diese Bedingung erfüllt ist, führe die Abfrage aus

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

für smalldatetime es wird 58 zurückgegeben

und für datetime es wird 61 zurückgegeben .