Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Поиск совпадений по части слова в бд без учёта пробелов...
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
И ещё, чтобы не создавать новую тему:
создал поле типа timestamp, но дата туда записывается в таком формате:
2012-03-10 17:11:22
и соответственно так и выводится.
Как это исправить?
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
armancho7777777
Отправлено: 11 Марта, 2012 - 21:49:51
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Спасибо EuGen!
EuGen пишет:
имеется ввиду формат вывода?
И запись тоже.
Разве в поле типа timestamp не должно записываться дата в таком виде 1331495516 ?
dadli
Отправлено: 11 Марта, 2012 - 22:06:49
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011 Откуда: тифилис
Помог: 5 раз(а)
armancho7777777
нет, timestamp формат такои же, какои для типа DATETIME
если хотите в том формате, котори ви сказали, сделаите поле типа INT и примерно такои запрос:
INSERT INTO tablica (vremia) VALUES(UNIX_TIMESTAMP())
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
А в чём тогда разница между TIMESTAMP и DATETIME ?
dadli
Отправлено: 11 Марта, 2012 - 23:13:08
Посетитель
Покинул форум
Сообщений всего: 416
Дата рег-ции: Май 2011 Откуда: тифилис
Помог: 5 раз(а)
armancho7777777
в виде (в формате) практически нет разници.
для TIMESTAMP, можно установить текуши время по умалчаню, при вставке данних, для DATETIME нет. один TIMESTAMP запис занимает 4 баит, DATETIME 8.
и еше есть какои то рзаници.
OrmaJever
Отправлено: 12 Марта, 2012 - 02:01:17
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
armancho7777777 пишет:
А в чём тогда разница между TIMESTAMP и DATETIME ?
timestamp хранит метку времени в секундах сначала эпохи unix. доступные значения с 1970 года по 2037, а datatime хранит время можно сказать строкой, поэтому доступные значения гораздо больше. (Добавление)
Да кстате ещё timestamp обновляется сам при добавлении даных в базу на текущее время (примерно как id autoincrement), а datatime установится в 0
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
armancho7777777
Отправлено: 12 Марта, 2012 - 08:22:15
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
OrmaJever пишет:
timestamp хранит метку времени в секундах
Вот именно, что она хранит ни метку времени в секундах, а как и datetime в таком виде 2012-03-10 17:11:22
OrmaJever пишет:
timestamp обновляется сам при добавлении даных в базу на текущее время (примерно как id autoincrement), а datatime установится в 0
Да нет, вот именно, что оба поля работаю одинакого, оба автоматом добавляют дату в таком виде 2012-03-10 17:11:22
snikers987
Отправлено: 12 Марта, 2012 - 08:31:33
Участник
Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011 Откуда: Крым
----- Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
EuGen
Отправлено: 12 Марта, 2012 - 09:00:50
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
armancho7777777
Отличия, разумеется, есть. Как минимум в том, что TIMESTAMP спообен хранить (в силу того, что метка времени есть обычное 32-разрядное целое) дату только в пределах от 1970-01-01 00:00:00 до 2037-12-31 23:59:59 (для DATETIME же такой интервал буде куда как шире - от 1000-01-01 00:00:00 до 9999-12-31 23:59:59)
Логически, DATETIME - это абсолютная метка времени, тогда как TIMESTAMP - относительная.
Еще одно отличие в том, что по-умолчанию, начиная с MySQL 5-й версии, данные типа TIMESTAMP конвертируются из текущей временной зоны в UTC.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Мелкий
Отправлено: 12 Марта, 2012 - 09:16:21
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
EuGen пишет:
для DATETIME же такой интервал буде куда как шире - от 1000-01-01 00:00:00
Оп. Действительно, так в мане и написано. А успешно хранящийся и не выдающих никаких варнингов 0998-04-01 10:54:49 - это внештатная фича, получается? На версии 5.1 точно воспроизводится. (Добавление)
armancho7777777 пишет:
Вот именно, что она хранит ни метку времени в секундах, а как и datetime в таком виде 2012-03-10 17:11:22
Хранит - метку. Выводит - обычный Y-m-d H:i:s
----- PostgreSQL DBA
armancho7777777
Отправлено: 13 Марта, 2012 - 08:26:11
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.