程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> sqlserver 數據類型轉換小實驗

sqlserver 數據類型轉換小實驗

編輯:更多數據庫知識

  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'轉換為數字而導致失敗。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved