2016-11-18 8 views
1

私は問題があります。だから、私はテーブルを持っているという名前をtable1とし、そのtable1はUserNameという名前を付けました。そして、この "Jiyo-192.168.10.22日2012年8月31日 - 2016ジャム11時35分36秒" のような値なので、この &名前&のような形式の値 - & IPアドレス&日&日時&。私はUserNameが私はこのようなsubtring_indexを使用したいと思うのです SUBSTRING_INDEX(SUBSTRING_INDEX(ユーザ名、 '日付'、-1)、 'Jam'、1)AS日付1 しかし、私の質問は、私はちょうどこのSubstring_Index to Date

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) FROM table1 
WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) BETWEEN DATE_FORMAT('2016-11-01','%d-%b-%Y') AND DATE_FORMAT('2016-11-18','%d-%b-%Y') 

のように私のコードを使用しますが、12日 - 3月 - 2007年からの17 - 11月 - 2016年まで示す結果をwokringされていません。私は何か間違っているかsubstring_indexは本当に価値の日付を取得するために働いていないのですか?

答えて

0

私はあなたがそのようなBETWEENを実行するためにCAST()を使用する必要が思う:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) FROM table1 
    WHERE SUBSTRING_INDEX(SUBSTRING_INDEX(UserName,'Date ',-1),' Jam',1) 
    BETWEEN CAST('2016-11-01' AS DATETIME) 
     AND CAST('2016-11-18' AS DATETIME) 
+0

が機能していないされていない私はCASTを使用する場合、私は(、2016年11月17日上のデータを持っている)何の結果はありません。 – Wolfzmus

関連する問題