私は2つの日付間のすべてのレコードを取得しようとしています。しかし、私は1つの日付だけで記録を取得しています。私の日付構造はVarchar(20)です。日付関数MM/DD/YYYY Mysqlの間
ここに私のクエリです:
あなたは私を助けることができますか? :(
SELECT a.DOB as `DATE`,
(CASE when f.INHOUR > 12 or f.INHour = 12 Then 'PM'
else 'AM' END) as Shift,
concat(b.FIRSTNAME, ' ', b.LASTNAME) Fullname,
a.Amount as DECLARED,
SUM(c.Amount) as CALCULATED,
a.AMOUNT as `NET OF SPECIAL SALES`,
d.Amount as `CASH OVER SHORT`,
a.AMOUNT as `CASH DEPOSIT`
FROM gndsale a
INNER JOIN emp b
ON a.ID= b.ID
INNER JOIN gndsale c
ON b.ID= c.ID
INNER JOIN gndsale d
on b.ID = d.ID
INNER JOIN adjtime f
on a.ID= f.ID
WHERE a.type = "22"
AND c.type = "4"
AND d.type = "42"
and (a.DOB BETWEEN '5/1/2017' AND '5/19/2017')
GROUP BY b.ID
_「私の日付の構造はVARCHAR(20)である」_ - それは、あなたが最初に修正する必要があり、あなたの間違いです。データベースが提供する日付と時刻のいずれかのタイプを使用します。 – CBroe
私は何とか私のvarcharを今日に変換できないのですか?すべてのデータフィールドがその形式になっています –
MySQLで 'Date'、' Timestamp'データ型があるとき、なぜ日付フィールド値に 'varchar'型を選択したのですか??? – itzmukeshy7