체크 아웃이 : 데이터가 있어도 mysql이 null을 반환하는 이유는 무엇입니까?
내 SQL 쿼리는 다음과 같습니다
SELECT @rownum := @rownum + 1 AS ID, SKU, SUM(Quantity) FROM orders, (SELECT @rownum := 0) r
WHERE ShipDate BETWEEN 01-05-2013 AND 11-05-2013
GROUP BY SKU
그리고 내 코드에서, 내가 뭐하는 거지 다음
$sql = "SELECT @rownum := @rownum + 1 AS ID, SKU, SUM(Quantity)
FROM orders, (SELECT @rownum := 0) r
WHERE ShipDate BETWEEN {$from_date } AND {$to_date }
GROUP BY SKU";
내가 사이에 떨어지는 데이터를 선택합니다 두 값.
ShipDate
은 날짜 필드가 아니고 텍스트 필드입니다. 테이블을 검사하고 데이터를 보유하고 있지만 MySQL은 null을 반환합니다.
왜? 내가 뭘 잘못하고 있니?
PHP 코드를 어떻게 업데이트합니까?
이 코드 :
"SELECT @rownum := @rownum + 1 AS ID, SKU, SUM(Quantity)
FROM orders, (SELECT @rownum := 0) r
WHERE STR_TO_DATE(ShipDate,'%d-%m-%Y') BETWEEN {$from_date } AND {$to_date }
GROUP BY SKU";
나를 위해 작동하지 않습니다.
도와주세요.
을 사용하여 텍스트 데이터를 날짜로 변환합니다. ShipDate가 DateTime 또는 Date로 저장되어 있습니까? DateTime 인 경우> = 및 <=를 각각 사용하는 것이 좋습니다. – sgeddes
@sgeddes ShipDate는 텍스트 필드이며, 'Date' 필드가 아닌 – cheesemacfly
텍스트 필드입니다 ... –