2014-07-10 13 views
1

我最近回答有關SQL格式的問題,並注意到in documentation two ways to define seconds%s%S就是在mysql中

他們似乎都做描述的相同%s和%s之間的區別:
%S - Seconds (00..59)
%s - Seconds (00..59)

SELECT STR_TO_DATE('2014-07-09 23:30:00', '%Y-%m-%d %H:%i:%s');
SELECT STR_TO_DATE('2014-07-09 23:30:00', '%Y-%m-%d %H:%i:%S');

給出相同的結果。

那麼它是否像某些早期版本的剩菜一樣具有歷史意義,或者它們在某種程度上是兩個不同的東西?

回答

1

它們是相同的東西。我認爲它的歷史遺留下來。因爲他們都產生相同的結果。

我認爲在同一鏈路由Mark給出的佈局是有幫助的:

+--------------+----------+--------------------+ 
| metric  | variant | result    | 
+--------------+----------+--------------------+ 
| microseconds | %f  | 000000..999999  | 
| seconds  | %s or %S | 00..59    | 
| minutes  | %i  | 00..59    | 
| hours  | %H  | 00...23   | 
|    | %h or %I | 00...12   | 
|    | %k  | 0...23    | 
|    | %l  | 1...12    | 
| day   | %a  | Sun...Sat   | 
|    | %D  | 1st, 2nd, 3rd  | 
|    | %d  | 0.31    | 
|    | %e  | 0..31    | 
|    | %j  | 001...366   | 
|    | %W  | Sunday...Sat  | 
|    | %w  | 0...6    | 
| week   | %U  | 00...53 per Sun | 
|    | %u  | 00...53 per Mon | 
| *   | %V  | 01...53 per Sun | 
| *   | %v  | 01...53 per Mon | 
| month  | %b  | Jan...Dec   | 
|    | %c  | 0...12    | 
|    | %M  | January...December | 
|    | %m  | 00...12   | 
| year   | %Y  | 1999    | 
|    | %y  | 99     | 
| *   | %X  | 1999    | 
| *   | %x  | 99     | 
| time   | %r  | 01:31:12 pm  | 
|    |   | %T | 01:31:12 pm | 
|    | %p  | AM or PM   | 
| Percent sign | %%  | %     | 
+--------------+----------+--------------------+