| 
	
 | 
	
          
            
              
                | Тема | 
                   Re: MySQL vs. InterBase [re: Boby_] | 
                 |  
| Автор | TTRex (Нерегистриран) |   |  
| Публикувано | 13.12.04 18:17 | 
 
 |  
 
 |  
        | 
         
        
  
        
				>--------
  но един познат ми се изсмя и взех да се замислям дали да не мина на нещо с повече перспектива (MySQL в случая).
 <------
 MySQL не е конкурент на Interbase/Firebird, тъй като и липсват 
 доста неща (хората преди мен ги казаха). Ползва се основно във Web-програмирането, с което май се изчерпва сферата и на действие. 
 
 тука: 
 http://sql-info.de/mysql/gotchas.html
 има описания на някои "сладки" (в големи кавички) неща, които ще  
 направят работата ви с MySQL да не е прекалено лека ;) 
 
 Ще цитирам само едно:
 
 1.14 February 31st
 
 Throughout history many different calendar systems have been developed around the world. Although the way of counting years still varies, most countries and regions have adopted the Roman-Nordic system of months and weekdays - except, it seems, the mysterious place where MySQL evolves: 
 
 mysql> CREATE TABLE datetest (id INT, a_date DATE);
 Query OK, 0 rows affected (0.00 sec)
 
 mysql> INSERT INTO datetest VALUES(1, '2003-02-31');
 Query OK, 1 row affected (0.00 sec)
 
 mysql> SELECT * FROM datetest;
 +------+------------+
 | id   | a_date     |
 +------+------------+
 |    1 | 2003-02-31 |
 +------+------------+
 1 row in set (0.00 sec)
 
 So, what's the day before February 31st? 
 
 mysql> SELECT DATE_SUB('2003-02-31', INTERVAL 1 DAY);
 +----------------------------------------+
 | DATE_SUB('2003-02-31', INTERVAL 1 DAY) |
 +----------------------------------------+
 | 2003-03-02                             |
 +----------------------------------------+
 1 row in set (0.00 sec)
 
 Which is of course two days before the day after February 31st: 
 
 mysql> SELECT DATE_ADD('2003-02-31', INTERVAL 1 DAY);
 +----------------------------------------+
 | DATE_ADD('2003-02-31', INTERVAL 1 DAY) |
 +----------------------------------------+
 | 2003-03-04                             |
 +----------------------------------------+
 1 row in set (0.00 sec)
 
 So what kind of checking does MySQL do on date values? A hint: 
 
 If you use really malformed dates, the result is NULL. 
 ------------------------
 
 Хей, внимавайте като работите с дати в MySQL ;)
  
        
        
  
          |  | 
 |    |   
 
 |  
 |   
 |