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