У меня есть PreparedStatement, который я использую для вставки группы строк с большим количеством данных столбцов.Однако для одного из столбцов (метка времени), если значение равно нулю, я хочу, чтобы оно выполнялось на сервере getDate()
.
Я понимаю, что я мог бы просто сделать new Date()
, но это не совсем такбудет работать, потому что из-за устаревших отчетов он должен точно соответствовать другому столбцу, в который автоматически вставлено значение.
Допустим, я не могу изменить схему и добавить значение по умолчанию в столбец.
Можно ли каким-либо образом установить формулу в качестве параметра в PreparedStatement?
Редактировать, чтобы добавить: По сути, это то, что в настоящее время:
PreparedStatement statement = connection.prepareStatement("insert into row (name, starttime) values (?, ?)")
statement.setString(1, name);
statement.setDate(2, date);
Что яхочу, что-то вроде:
PreparedStatement statement = connection.prepareStatement("insert into row (name, starttime) values (?, ?)")
statement.setString(1, name);
if(date != null)
statement.setDate(2, date);
else
statement.setFormula(2, "getdate()");
Я понимаю, что:
if(date == null)
date = new Date();
по сути то же самое, но в нашем случае это действительно не так.