Мое краткое изложение состоит в том, чтобы реализовать интерфейс, который имеет метод, который выглядит примерно так: 'GetValuesSqlStatement' ниже:
public string SqlPattern { get { ... } }
//this varies; eg. "SELECT name FROM someTable WHERE startDate < {0}"
public string DatabaseType { get { ... } }
//this varies; eg. "SqlServer"
public string GetValuesSqlStatement(List<object> paramValues)
{
//...desired logic here, using DatabaseType, SqlPattern and paramValues
}
Теперь, поскольку это должно привести к выполнению исполняемого оператора SQL, я не могу использовать параметры ввыполнение запроса.И интерфейс, который я должен реализовать, не подлежит обсуждению.Каков наилучший способ убедиться, что даты в результате правильно интерпретируются обработчиком запросов к базе данных?Предполагая, что paramValues содержат объекты .NET DateTime, как их отформатировать в строку перед подключением к строке шаблона SQL?Каков наиболее распространенный универсальный формат даты в базах данных must?(например, что-то вроде «дд-ммм-гггг»).
Примечание: мне действительно нужно беспокоиться о Sql Server начиная с 2005 года и Oracle 10g и далее.Таким образом, SQL должен быть действительным T SQL и PL SQL и означать одно и то же в обоих вариантах.