mysql 日期比較有關問題

來源:互聯網
上載者:User
mysql 日期比較問題
現在表kucun中有datavalue(varchar,是2012-01-01這樣的格式日期)和price(float 11,2)欄位

現在我想擷取2012-07-10到2012-08-10中的資料我的寫法是這樣的

1,
SELECT * FROM `kucun` where datavalue between 'UNIX_TIMESTAMP(2012-07-10)' and 'UNIX_TIMESTAMP(2012-08-10)'
結果為空白
2,
SELECT * FROM `kucun` WHERE datavalue BETWEEN '2012-07-10' AND '2012-08-10'
結果正確,擷取我想要找的資料了

3,
SELECT * FROM `kucun` where UNIX_TIMESTAMP(datavalue)>UNIX_TIMESTAMP(2012-07-10) and UNIX_TIMESTAMP(datavalue)結果為空白

為麼1和3在為空白呢?2這樣寫正規嗎?XXXX-XX-XX 這樣的格式日期可以比較嗎?

------解決方案--------------------
1、
SELECT * FROM `kucun` where datavalue between 'UNIX_TIMESTAMP(2012-07-10)' and 'UNIX_TIMESTAMP(2012-08-10)'
要刪去多餘的引號

3、
SELECT * FROM `kucun` where UNIX_TIMESTAMP(datavalue)>UNIX_TIMESTAMP('2012-07-10') and UNIX_TIMESTAMP(datavalue)要補上必須的引號
------解決方案--------------------
UNIX_TIMESTAMP()函數的字串參數要加引號,這樣試試:
SQL code
SELECT * FROM `kucun` where UNIX_TIMESTAMP(datavalue)>UNIX_TIMESTAMP('2012-07-10') and UNIX_TIMESTAMP(datavalue)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.