Попробуйте это:
select col from table where col like '%\_1'
Символ
_
является веселым, например%, но он соответствует только одному символу, поэтому вам нужно избежать его с помощью \
См. здесь: http://dev.mysql.com/doc/refman/5.0/ru/string-comparison-functions.html#operator_like
var date = new Date();
setTimeout(function() {
setInterval(myFunction, 60000);
myFunction();
}, (60 - date.getSeconds()) * 1000);
Очевидно, что это не на 100% точно, но для большинства случаев этого должно быть достаточно.
Я полагаю, что все ответы испорчены. После того как Вы запустили setInterval, время интервала не может быть изменено, не создавая новый объект setInterval. Таким образом, Вы будете только использовать вычисленное время начальной буквы для каждого повторения. Можно создать новые объекты setInterval, но это должно быть дорогостоящим.
См.: , Как я сбрасываю setInterval таймер?
Моя рекомендация состоит в том, чтобы создать функцию цикличного выполнения, которая использует setTimeout вместо этого.
Вот некоторый код:
var duration = 5; //in minutes. This is just to control the total length
var startTime = new Date().getTime(); //must be in milliseconds
function myOnTheMinuteTimer(){
setTimeout(function(){
var currentTimeMS = new Date().getTime();
var diffMs = Math.abs(startTime - currentTimeMS);
diffMs = diffMs/1000; //take out the milliseconds
var seconds = Math.floor(diffMs % 60);
diffMs = diffMs/60;
var minutes = Math.floor(diffMs % 60);
var minutesLeft = duration - minutes;
console.log("Time passed:", minutes + "m :" + seconds + "s");
if(minutes <= duration){
console.log("Timer expired.");
} else {
myOnTheMinuteTimer();
}
}, setIntervalTimeToNextMinute());
}
//Initialize timer
myOnTheMinuteTimer();
//Get our time until the next minute
function setIntervalTimeToNextMinute(){
var currentDateSeconds = new Date().getSeconds();
if(currentDateSeconds == 0){
return 60000;
} else {
return (60 - currentDateSeconds) * 1000;
}
}
Мой вариант использования для этого был сессией timout:
startTime - позволяет мне передать в любое время миллисекунд. Таким образом, я могу избежать ошибок в загрузке страницы. Скажите пользовательские логины в в определенное время. Я получаю то время, затем передаю его в начальную функцию, и оно будет корректироваться назад к на мелком вычислении.
продолжительность - я использую проверку продолжительности на установку тайм-аута. Если приложение имеет 20-минутный тайм-аут, то я должен направить пользователя на экран входа в систему.
дополнительно - можно добавить больше изменений. Скажите, что Вы хотите дать пользователю 2-минутное предупреждение, что они выйдутся из системы. Просто еще добавьте к условному выражению если в течение 2 минут.
Hope, которая помогает! Счастливое кодирование!
var nextTick = function() {
return 60000 - (new Date().getTime() % 60000);
}, timerFunction = function() {
// do stuff
// do stuff
// do stuff
setTimeout(timerFunction, nextTick());
};
var timeout = setTimeout(timerFunction, nextTick());
var d = new Date();
var milisecondsUntilMinuteChanges = 60000 - d.getMilliseconds() - (1000 * d.getSeconds());
var seconds = (new Date()).getSeconds();
Используйте 60 секунд
в качестве времени ожидания. Конечно, setTimeout
позволяет вам указывать миллисекунды, что означает, что вы также должны проверять миллисекунды, но это даст вам «достаточно близко» для большинства приложений. Во всяком случае, это должно заставить вас промахнуться через минуту на долю секунды, но лучше промахнуться, чем недооценить. Недостаточный выстрел может привести к катастрофическому отказу при использовании этого метода.
function waitForNewMinute() {
if (new Date().getSeconds()>1) {
setTimeout(waitForNewMinute, 500);
} else {
setInterval(doMyThing,60000);
}
}
waitForNewMinute();