mysql: 兩個欄位合并,字元時間轉時間戳記,別名欄位作為where條件查詢

來源:互聯網
上載者:User

標籤:

有欄位,a,b:

a存的是:2016-10-10

b存的是:10:15:30

 

mysql將欄位合并:

concat(a, ‘ - ‘, b)  或者 concat(a, ‘ ‘, b)

字元時間轉時間戳記

unix_timestamp( concat(a, ‘ ‘, b) )

 

別名欄位作為where條件:

在MySQL中有個特殊的規定,即不允許使用列別名作為查詢條件。比如有下面一個表:

select 
    ID, 
    title, 
    concept, 
    conceptLength, 
    addUserId, 
    modifyTime
from collections_wisdom

將SQL修改如下:

select 
    ID+1 as newID
    title, 
    concept, 
    conceptLength, 
    addUserId, 
    modifyTime
from collections_wisdom
where newID>2

那麼,執行起來就會出現異常:StatementCallback; bad SQL grammar

實在要執行,只好把新欄位的組成在條件裡再實現一遍,如下:

select 
    ID+1 as newID, 
    title, 
    concept, 
    conceptLength, 
    addUserId, 
    modifyTime
from collections_wisdom
where (ID+1)>2

之所以MySQL中不允許使用列別名作為查詢條件,據說是因為MySql中列的別名本來是返回結果的時候才顯示的,不在SQL解析時候使用。在沒有更令人信服的解釋出現前,權且當做這樣吧。

 

或者可以這樣,將合并的字元直接放在where裡面

unix_timestamp(concat(a,‘ ‘, b)) BETWEEN :startTime: AND :endTime:

 

mysql: 兩個欄位合并,字元時間轉時間戳記,別名欄位作為where條件查詢

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.