Dates

Най-трудната част при работа с дати е да сте сигурни, че формата на датата, която се опитвате да вмъкнете, съвпада с формата на колоната за дата в базата данни. Докато вашите данни съдържат само частта за дата, вашите заявки ще работят според очакванията. Все пак, ако част от време е замесена, става по-сложна.

Типове данни за SQL Date

MySQL идва със следните типове данни за съхранение на дата или дата / час стойност в базата данни:

  • ДАТА – формат YYYY-MM-DD
  • DATETIME – формат: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP – формат: YYYY-MM-DD HH: MI: SS
  • ГОДИНА – формат YYYY или YY

SQL Server се предлага със следните типове данни за съхранение на дата или стойност на дата / час в базата данни:

  • ДАТА – формат YYYY-MM-DD
  • DATETIME – формат: YYYY-MM-DD HH: MI: SS
  • SMALLDATETIME – формат: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP – формат: уникален номер

Забележка: Типовете данни са избрани за колона, когато създавате нова таблица във вашата база данни!

SQL Работа с дати

Можете да сравните две дати лесно, ако няма компонент от време! Да приемем, че имаме следната таблица „Orders“:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Сега искаме да изберете записите с OrderDate на „2008-11-11“ от таблицата по-горе. Използваме следния израз на SELECT:

Наборът от резултати ще изглежда така:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Сега приемете, че таблицата „Orders“ изглежда така (забележете компонента за време в колоната „OrderDate“):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Ако използваме същото изявление SELECT, както по-горе:

Няма да получим резултат! Това е така, защото заявката търси само дати без време. Съвет: За да запазите заявките си лесни и лесни за поддръжка, не допускайте часовите компоненти в датите!