2012-02-20 5 views
1

不明なタイトルは申し訳ありませんが、他にどのように言いたいのか分かりません。MySQLの選択クエリで特定の文字を探すことはできますか?

私はこの1つ

"Select time, value from temp_table where time between '2012-01-01' and 
'2012-02-20 23:59:59' group by time" 

のようなSELECT文を使用したいしかし、私は私だけの時間が時間上にある行、すなわちを選択することを指定したいと思います。時間が ":00"で終わる

私はいくつかのプログラミング言語で、文字列の最後の3文字を確認するためにRight $(string_var、3)のようなものを使用できることを知っています。 MySQLのようなものはありますか?

+1

SUBSTRを(使用して文字列から最後の3 chractorsを得ることができます時間、16)http://www.w3resource.com/mysql/string-functions/mysql-substr-function.php – hackartist

+0

日付関数を使用し、日付を文字列として解析しません。それは本当にクルージングです。 – JohnFx

答えて

5

いっそのこと、実際には、その唯一の目的時刻値から秒を抽出することで機能があります:

SELECT time, value FROM temp_table 
WHERE time BETWEEN '2012-01-01' AND '2012-02-20 23:59:59' 
    AND SECOND(time) = 0 
GROUP BY time 
+0

絶対に素晴らしいです!ありがとうございました! – Quintis555

+0

1.今後のエクスプローラでは、分(時間)と時(時間)を使用することもできます。 2.これが私の望むことです。特定の位置に特定の文字を指定する方法はありますか?のように、 '分の2番目の値が0の行をすべて返しますか? ' 例 ' 00:00:00' '00:10:00' ' 00:20:00' '00:30 :そのまま00 は、分(0)のみが返され、オン時間行 例えば '00:00:00 ' 01:00:00 '02:00:00 – Quintis555

+0

と追加しますさらに別のコメント、私はsubstrを使いたいと思った! 'temp_tableから時間、値を選択します。ここで、' 2012-01-01 'と' 2012-02-20 23:59:59 'の間のsubstr(時間、16,4)=' 0:00 'は、'時間でグループ化 ' ありがとう@hackartist! ! – Quintis555

-1

あなたはこの

<?php 
$time = '2012-02-20 23:59:59'; 
$length = strlen($time); 
$characters = 3; 
$start = $length - $characters; 
$time = substr($time , $start ,$characters); 
echo $time; 
?> 
+0

それは... MySQLクエリではありません。 – duskwuff

+0

私は人を知っています、私はちょうどあなたがphpを使ってそれを得ることができることを示しています...多分あなたはあなたの次のプロジェクトでそれを使用する必要があります....-) –

+0

あなたはポイントがありません。問題は、特定の秒の値を持つ行を選択する方法で、文字列から抽出する方法ではなく、その解決策が当面の問題には適用できないことです。 – duskwuff

関連する問題