UNION中的自動數據類型轉換

     UNION中的自動數據類型轉換
     合併表時,兩個表源中對應的每一個列數據類型必須相同嗎?不,只要是數據類型兼容就能夠。
     首先說文本數據類型。假設合併的兩個表源中第一列數據類型雖然都是文本類型,但長度不一致。當合並表時,字符長度短的列等於字符長度長的列的長度,這樣長度長的列不會丟失任何數據。

     其次說數值類型。當合並的兩個表源中第一列數據類型雖都是數值類型,但長度不一樣,合併表時,全部數字保持全部數字都容許的長度來消除它們數據類型的差異。 mysql

    由於這種都是自動數據類型轉換,因此說任何兩個文本列都是兼容的,任何兩個數字列也都是兼容的。 sql

    可是,這種自動數據類型轉換也會給咱們帶來麻煩,mysql中的tinyint(1)表示boolean型,使用union後查詢結果將tinyint(1)轉成了int,用play framework的ORM時就會發生類型轉換錯誤。 io

相關文章
相關標籤/搜索