如果你每次建數據表的時候固執的使用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為何物。碼農就是這么任性,不夠重視這些東西。