2012-05-29 51 views
2

比較使用CONCAT場,我有以下MySQL查詢:MySQL的兩個字段

SELECT concat_ws('/', exp_month, exp_year) as exp_date 
FROM `cc_info` 
WHERE concat_ws('/', exp_month, exp_year) <= '05/12' 

查詢被拉回導致未來以及過去。任何想法我在這裏做錯了嗎?

回答

2

您按字典順序比較字符串,並且該月份在年份之前。如果您在一個月之前放置年份,那麼它們將按照正確的順序排列:

SELECT concat_ws('/', exp_year, exp_month) as exp_date 
FROM `cc_info` 
WHERE concat_ws('/', exp_year, exp_month) <= '12/05' 
+0

謝謝!我應該更多地關注我的語法。由於遺留數據庫,我最終不得不做了一些不同的事情(編寫Ruby腳本)。該數據庫有3個不同的expiration_ {type}列。舊系統使用exp_month和exp_year,而新系統使用expiration_date。 Exp_year和Exp_month是'varchar',而expiration_date是'datetime'。所以我必須對角色進行一些轉換才能使其正常工作 – dennismonsewicz