にMySQLでの変換のvarchar型Iは、(理由から)VARCHAR型を持つ「日付」という名前の列を持っていますが、店舗日付format-中(DMY H:I:S)与えられた日付形式
今私が持っていますBETWEENクエリを作成して2つの日付間のレコードを検索します。しかし、データ型はvarcharなので、まずカラムをdate-typeに変換して比較する必要があります。だから私はthis-
SELECT
mobile,
STR_TO_DATE(date,'%Y-%m-%d')
FROM register
WHERE STR_TO_DATE(date,'%Y-%m-%d')
BETWEEN STR_TO_DATE('2017-05-01','%Y-%m-%d') AND
STR_TO_DATE('2017-05-31','%Y-%m-%d')
このクエリは正しくY-M-Dフォーマットに '日付' 列に変換しようとしました。しかし、比較される2つの日付は文字列( "2017-05-01"と "2017-05-31")として取得され、その結果は日付2017-05-20のレコードのみを返します。
日付型の列と指定した日付を比較するためのクエリは何ですか。
str_to_dateを与えます関数呼び出しon日付は、どのように出力するかではなく、保存方法などの形式を使用する必要があります。 –
'STR_TO_DATE(date、 '%Y-%m-%d')'の書式は 'd-m-Y H:i:s'の実際の書式の書式と一致させるべきです。 – Himal
[this](https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date) –