Вы можете сделать это следующим образом -
Из отметки времени
select DATE_PART_YEAR('2019-01-15 04:47:22');
date_part_year
-----------
2019
(1 row)
С даты
select DATE_PART_YEAR('2019-01-15');
date_part_year
-----------
2019
(1 row)
[1111 ] Но если взглянуть на ваши примеры данных, можно легко понять, что ваши данные представлены в текстовом формате, а не в формате даты, следовательно, они должны быть casted first to the date
, тогда можно использовать DATE_PART_FUNCTION
.
select DATE_PART_YEAR(to_date('10-Nov-15','DD-Mon-YY'));
Здесь to_date
функция преобразует text
в date
, а затем извлекает год. Надеюсь, что это отвечает на ваш вопрос.
В приложении гостевой книги я записал, я реализовал две опции, которые предотвращают большую часть спама:
Не позволяйте POST как первый запрос на сессии
Потребуйте допустимого HTTP Refer(r) er при регистрации
Что-то я нашел, чтобы быть удивительно эффективным: запретите комментарии, которые содержат слишком много URL (больше, чем, скажем, 5). Начиная с выполнения этого у меня был нулевой спам комментария.
Править: Начиная с записи вышеупомянутого у меня был повторяющийся спам комментария только с одной ссылкой. Я теперь добавил некоторые поля ловушки и имел, не рекомендуют спам в течение нескольких месяцев теперь.
Нет никакого единственного ответа, так как Спам является действительно вопросом экономики: сколько стоит стоящий того кому-то для помещения их материала на сеть. Там, однако, некоторые решения, которые кажутся довольно хорошими
Не позволяйте никому отправить, пока они не ответят на электронное письмо, посланное их зарегистрированному адресу электронной почты. Вы будете видеть много форумов, и списки рассылки генерируют уникальный адрес электронной почты или веб-URL, который отправляется в данный адрес электронной почты нового пользователя, и они должны ответить на электронную почту или нажать на ссылку для завершения их регистрации.
Я хочу сказать, что в большую часть времени, КАПЧА достаточно, чтобы Вы предотвратили SPAMers. Но действительно используйте сильный, как http://www.captcha.net/.
Помните, что SPAMers не хотят проводить много времени для контакта с конкретным сайтом (кроме сайтов интенсивного движения), они используют инструмент для размещения объявления на большом количестве сайтов. Поэтому сделайте свою ФОРМУ немного необычной, (например, дайте пользователю, которого изображение говорит '1.5+2.4 =?' и позвольте пользователям для ответа, это заблокирует большинство инструментов :) спама),
Передовые решения:
Можно попытать счастья с нестандартной формой:
<input name=email>
для чего-то, что не является электронным письмом.Для меня КАПЧА похожа на предоставление до спаммеров и разрешение им повредить Ваш форум так или иначе – за исключением того, что вместо повреждения спама, Вы получаете повреждение удобства использования и доступности.
Капча является определенно самым легким методом - пробуют KittenAuth, если Вы хотите что-то защищенное от бота (Хотя я получил панд на этот раз),
Включайте КАПЧУ, которая является всегда "оранжевой".
Один способ, которым я знаю, какие работы должны использовать JavaScript прежде, чем отправить форму. Например, для изменения метода от ДОБИРАЮТСЯ до POST.;) Спам-роботы паршивы при выполнении JavaScript. Конечно, это также означает, что люди не-JavaScript не смогут использовать Ваш сайт..., если Вы будете заботиться о них, который является. ;) (Примечание: Я не делаю),
По моему опыту, лучшая легкая обороноспособность прибывает из просто выполнения чего-то "нестандартного". При создании сайта нестандартным это делает его так, чтобы любой автоматизированный спам должен был бы быть кодирован специально для сайта, который (никакое преступление), вероятно, не стоит усилия. Обратите внимание, что, если спам прибывает от спаммеров - людей, нет действительно ничего, что можно сделать, который также не остановит законные плакаты. Таким образом, цель состоит в том, чтобы найти решение, которое выбросит любые "стандартные" сообщения - то есть, "заполните целую форму, и нажатие отправляют".
Пара примеров, которые приходят на ум вещей, которые Вы могли попробовать:
Вы могли бы хотеть посмотреть на этот вопрос, который имеет несколько ответов, которые описывают, как Вы могли реализовать ненавязчивую капчу.
Другая вещь рассмотреть состоит в том, чтобы потребовать, чтобы время между сообщениями предотвратило крупный спам.
Вы могли использовать капчу, существуют некоторые хорошие сценарии как PHPCaptcha или используют контрольную службу спама, как Akismet, у них есть API PHP.
Сообщения со спамом могут быть ботами или людьми - боты более вероятны.
Для остановки ботов вставьте скрытое поле, заполненное JavaScript - существует шанс на 99,5%, что стандартный, глупый бот, который не настраивается на сайт, не заполнит это.
Если им не удается заполнить его правильно, дать им сообщение, что JavaScript требуется или что-то, и дайте им возможность отправить некоторый другой путь (например, с капчой или регистрацией). Тем путем анонимные пользователи, которые не являются спам-роботами, могут (главным образом) все еще отправить без проблем и большинства спам-роботов (которые не были адаптированы для Вашего определенного сайта), не будет.
Не потрудитесь помещать в черный список IP-адреса или использовать сторонние черные списки, которые просто генерируют ложные положительные стороны. Почти все боты используют те же IP-адреса в качестве (немного) законные пользователи.
Другой прием должен вставить текстовое поле с вероятным звучащим именем, которое сделалось трудное видеть с CSS - любой заполняющий это поле с чем-либо считается ботом.