sqlserver 資料類型轉換小實驗

來源:互聯網
上載者:User

  1. declare @i int
    set @i='a'
    set @i=cast('a' as int)
    set @i=convert(int, 'a')
    print @i --輸出結果為:將 varchar 值 'a' 轉換為資料類型為 int 的列時發生語法錯誤。這一點與java不一樣

  2. declare @ch varchar(90)
    set @ch=97
    print @ch

    --顯示結果為97,說明隱式轉換成字串了

  3. declare @ch varchar(90)
    set @ch=97+'a'
    print @ch

    --輸出結果為:將 varchar 值 'a' 轉換為資料類型為 int 的列時發生語法錯誤。為什麼不先把數字97轉換成字串,然後再與‘a'串連呢,是不是因為97在前,sqlserver所以嘗試這麼作呢?換一下位置看看

  4. declare @ch varchar(90)
    set @ch='a'+97
    print @ch

    --輸出結果為:將 varchar 值 'a' 轉換為資料類型為 int 的列時發生語法錯誤。不明白sqlserver為什麼總是先要把‘a'轉換為數字而導致失敗。

相關文章

聯繫我們

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