Datediff е функцията, използвана в mysql и sql сървъра за изчисляване на дните между две дати. Datediff обаче не работи в sqlite3. Какъв е независимият от DB (работи както за mysql, така и за sqlite3) начин за изчисляване на дни между две дати? Много благодаря.
Какво е независимото от DB (работи както за mysql, така и за sqlite3) решение за изчисляване на дни между две дати в SQL?
Отговори (1)
Ако управлявате вашите типове данни по правилния начин, възможно е изваждането да работи правилно и по един и същи начин във всичките 3 системи.
Тъй като SQLite няма тип данни datetime, можете да съхранявате стойностите на датата като цели числа и да изваждате датите нормално.
MSSQL позволява изваждане на datetime и когато се прехвърля като int, ще ви даде броя на дните между тях.
MySQL трябва да позволява изваждане на типове данни DATE. (Можете да проверите това.)
person
David Manheim
schedule
01.05.2012
date1 - date2
, но нито една от СУБД, които споменахте, не е съвместима със стандарта, когато става въпрос за обработка на дати, така че ще трябва да поддържате различен SQL за различни СУБД. - person a_horse_with_no_name   schedule 17.04.2012