Mysql
 sql >> база данни >  >> RDS >> Mysql

По избор месец или ден в полето за дата на MySQL от PHP

В много случаи се нуждаем от такива „повече или по-малко точни“ дати и аз използвам такива дати като 2011-04-01 (точно), както и 2011-04 (=април 2011 г.) и 2011 (дата само за година) в метаданните на архивите. Както го споменавате, полето за дата на MySQL толерира '2011-00-00', въпреки че няма често задавани въпроси и е добре.
Но тогава трябваше да взаимодействам с MySQL database чрез ODBC и полетата за дата са правилно преведени, с изключение на 'толерираните' дати (напр.:'2011-04-00' резултати са празни в получената база данни ACCESS, свързана с MySQL-ODBC.
По тази причина стигнах до заключението, че полето за дата на MySQL може да се преобразува в обикновен VARCHAR(10) поле :Докато не се нуждаем от специфични MySQL функции за дата, тя работи добре и разбира се, ние все още можем да използваме php функции за дата и вашата фина функция date_php2mysql().

Бих казал, че единственият случай, когато е необходимо поле за дата на MySQL, е когато човек се нуждае от сложни SQL заявки, използвайки MySQL датата функционира в самата заявка. (Но такива заявки няма да работят повече за „повече или по-малко точни“ дати!...)

Заключение :За „повече или по-малко точни“ дати, в момента отхвърлям полето за дата на MySQL и използвам обикновен VARCHAR(10) поле с aaaa-mm-jj форматирани данни. Простото е красиво.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql ляво външно присъединяване

  2. Свържете се с MySQL, като използвате SSH тунелиране в node-mysql

  3. Съхранение на разрешения за приложение в база данни

  4. mysql променя всички стойности в колона

  5. JDBC Batch се изпълнява изключително бавно