如果你每次建數據表的時候固執的使用varchar,那麼你可能會遇到以下的問題:
現在saleUserName的字段類型為varchar(50)
update TableNameset saleUserName='小覃祝你⑭快樂' where ID=87
select * from TableName where ID=87
why?SaleUserName字段裡的文字怎麼變成這樣了。⑭這個符號怎麼變成了?
好的,那麼我現在將saleUserName的字段類型改為nvarchar(50)呢
updateTableNameset saleUserName='小覃祝你⑭快樂' where ID=87
select * from TableName where ID=87
What!?怎麼還是一樣!
那麼,稍微改一下,在參數值前面加上N。現在可以看到調皮的⑭出來了。
updateTableNameset saleUserName=N'小覃祝你⑭快樂' where ID=87
------加上N代表存入數據庫時以Unicode格式存儲。
----------------------------------------------------------總結的時候,我總是得召喚出這麼華麗的分割線-----------------------------------------------------------------
unicode,以前學習的時候看過,根本沒留心。那麼好,百度一下,百度百科是這麼說的:Unicode是國際組織制定的可以容納世界上所有文字和符號的字符編碼方案。
nvarchar和ntext就是可以容納unicode的類型,所以才能存儲調皮的⑭等特殊字符。
以前根本沒留意過這些數據類型,看到說是存unicode類型的,可是根本不知道unicode為何物。碼農就是這麼任性,不夠重視這些東西。