0
我有一個mysql語句來檢索表中的值,該表稱爲dateTable(我在此表中有date(STRING)和dayId(INT)列),我想用特定日期格式檢索值,如果該日期不存在確切的日期格式yyyy-mm-dd,則搜索是否具有格式dd-mm的日期,否則檢索該日期的星期幾的記錄。下面的查詢返回所有可能性(日期格式爲yyy-mm-dd,日期格式爲mm-dd,日期爲星期幾,即在這種情況下爲4)MY SQL IF聲明
請注意,我試過CASE WHEN,它給了我同樣的結果
SELECT
*
FROM
dateTable
WHERE
dateTableId = 4
AND IF(STR_TO_DATE(date, '%Y-%m-%d') = DATE_FORMAT('2015-08-19', '%Y-%m-%d'), date=STR_TO_DATE(date, '%Y-%m-%d'),
IF(STR_TO_DATE(date, '%m-%d') = DATE_FORMAT('2015-08-19', '%m-%d'), date=STR_TO_DATE(date, '%m-%d'),dayId = DAYOFWEEK('2015-08-19')))
但是這是一個大表,並且這是一個子查詢,在這種情況下可以做UNION .... – Dev
@Dev。 。 。這似乎是你的邏輯要求。如果您擔心,您可以發佈*另一個*問題,提供有關您實際使用的查詢的更多詳細信息。 –