преобразование из int в DATE не поддерживается в нулевую дату - PullRequest
0 голосов
/ 24 мая 2011

Я считаю, что это ошибка / проблема в SQL 2000/2005 ... Если в столбце DATETIME мои результаты имеют нулевое значение, я получаю

com.microsoft.sqlserver.jdbc.sqlserverexception: 
 the conversion from int to date is unsupported

когда я использую sql.getDate("ColumnName") ... Какие-нибудь решения для этого?

[EDIT] Привет всем, спасибо за ваш вклад, ниже мой SQL-запрос

select p.planno            as PlanNumber, 
       t.TrancheID         as TrancheID, 
       t.tranchestartdate  as TrancheStartDate, 
       t.tranchereasoncode as TrancheReasonCode, 
       ai.ArrayItemDecode  TrancheReasonDescription, 
       t.trancheuwstage    as UnderwritingStatusCode 
from   plan_ p 
       inner join tranche t 
         on t.planno = p.planno 
            and t.trancheuwstage in ( 2, 4 ) 
            and p.planno = '040000000X6' 
       inner join arrayitem ai 
         on ai.ArrayNm = 'arrTraReas' 
            and ai.ArrayItemCode = t.tranchereasoncode;  

и виновником здесь является tranchestartdate, который является DATETIME. Я не могу ничего добавить к tabel, так как мне не разрешено изменять существующие структуры таблиц, это большая система. Возможно, я могу сделать кастинг в моем SQL? Я не совсем уверен, если это определенно нулевая проблема. Можно ли отладить / просмотреть через ResultSet и проверить, были ли получены какие-либо данные, прежде чем я вызову getDate ()? [/ Eidt]

Ответы [ 3 ]

0 голосов
/ 24 мая 2011

Если ваше приложение (или драйверы) не могут обрабатывать нулевые даты, тогда проще всего использовать ISNULL (поле) и проверьте нулевую дату замены в коде.Этот подход использует магическое число (дата) для обозначения нулевых значений, true.Это не красиво, но это быстро и просто.

0 голосов
/ 24 мая 2011

Вы выбираете дату и время из поля или строите его динамически в вашем SELECT? вам может понадобиться CAST результат.

См. эту статью

0 голосов
/ 24 мая 2011

Разве вы не можете использовать коалесцию для этого?

http://msdn.microsoft.com/en-us/library/ms190349.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...