eg. Table [T1] 有 Column [C1] 設計為 varchar, 存放數字資料
比對條件下 select * from T1 where c1 = 1
SQL Server 需先將 C1 欄位都先轉型成int (此時也有可能發生轉型失敗)才進行比對.
SQL Server 會使用下列資料類型優先順序:
- 使用者自訂資料類型 (最高)
- sql_varian t
- xml
- datetimeoffset
- datetime2
- datetime
- smalldatetime
- date
- time
- float
- real
- decimal
- money
- smallmoney
- bigint
- int
- smallint
- tinyint
- bit
- ntext
- text
- image
- timestamp
- uniqueidentifier
- nvarchar (包括 nvarchar(max) )
- nchar
- varchar (包括 varchar(max) )
- char
- varbinary (包括 varbinary(max) )
- binary (最低)
沒有留言:
張貼留言