<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SQLServer特殊字符/生僻字與varchar

      對于中文版的SQL SERVER,默認安裝后使用的默認排序規則為Chinese_PRC_CI_AS,在此排序規則下,使用varchar類型來可以“正常存取”存放中文字符以及一些東南亞國家的字符,同時varchar類型在存放英文字符和數字時比nvarchar節省一半的存儲空間,因此很多DBA都習慣使用varchar類型來存放字符數據,但這樣便存在一些亂碼隱患!
      首先是特殊字符如上下標或版權字符,測試Code如下:

      --準備測試表
      DROP TABLE TB1
      GO
      CREATE TABLE TB1 
      (
      C1 VARCHAR(200),
      C2 NVARCHAR(200)
      )
      GO
      --插入測試數據
      INSERT INTO TB1(C1,C2)
      SELECT N'm2',N'm2'
      UNION
      SELECT N'?',N'?'
      --查詢
      SELECT C1,
      CAST(C1 AS NVARCHAR(200)) AS C1_N,
      C2,
      CAST(C2 AS VARCHAR(200)) AS C2_V
      FROM  TB1
      

      測試結果如下:

      可以明顯地看到上標在varchar類型下轉換成普通數字2,而版權符號在varchar類型下直接就亂碼。

      對于這些特殊字符,可能不會被使用到,比如用戶姓名字段,那么是不是就可以使用varchar類型了呢?

      當然不是,能避開特殊字符,還得考慮“有文化的父母”給子女來點生僻字以展示有文化!!!比如五代十國中南漢的創建者劉?就自認為很牛叉,于是自己創了一個“?”字,取意為飛龍在天,如此牛叉的意義就不招varchar的“喜歡”,測試code如下:測試結果如下:

       

       

      可以明顯地看到上標在varchar類型下轉換成普通數字2,而版權符號在varchar類型下直接就亂碼。

      對于這些特殊字符,可能不會被使用到,比如用戶姓名字段,那么是不是就可以使用varchar類型了呢?

      當然不是,能避開特殊字符,還得考慮“有文化的父母”給子女來點生僻字以展示有文化!!!比如五代十國中南漢的創建者劉?就自認為很牛叉,于是自己創了一個“?”字,取意為飛龍在天,如此牛叉的意義就不招varchar的“喜歡”,測試code如下:

      INSERT INTO TB1(C1,C2)
      SELECT N'劉?',N'劉?'
      
      SELECT C1,
      CAST(C1 AS NVARCHAR(200)) AS C1_N,
      C2,
      CAST(C2 AS VARCHAR(200)) AS C2_V
      FROM  TB1
      

      顯示結果如下:

      “?”字只能在NVARCHAR模式下才能完好地顯示哈!

      建議使用NVARCHAR來存放非英文字符數據理由:
      理由1:VARCHAR類型存放特殊字符或生僻字時存在亂碼或字符被轉變的問題
      理由2:對于中文字符,使用VARCHAR和NVARCHAR消耗同樣的空間,對于英文字符,使用VARCHAR比NVARCHAR節省一倍的空間,但隨著磁盤成本越來越低,其提升的性能和節省的成本有限。(例外:如果數據中存在大量英文字符和少量非英文字符,則可以考慮VARCHAR類型)
      理由3:對于需要國際化的企業,后期將VARCHAR升級為NVARCHAR的成本太高或難以實現
      理由4:使用VARCHAR存放非英文字符時,容易生成錯誤的預估值,尤其在執行LIKE這類前綴匹配的預估時。顯示結果如下: 

      “?”字只能在NVARCHAR模式下才能完好地顯示哈!
      建議使用NVARCHAR來存放非英文字符數據理由:
      理由1:VARCHAR類型存放特殊字符或生僻字時存在亂碼或字符被轉變的問題
      理由2:對于中文字符,使用VARCHAR和NVARCHAR消耗同樣的空間,對于英文字符,使用VARCHAR比NVARCHAR節省一倍的空間,但隨著磁盤成本越來越低,其提升的性能和節省的成本有限。(例外:如果數據中存在大量英文字符和少量非英文字符,則可以考慮VARCHAR類型)
      理由3:對于需要國際化的企業,后期將VARCHAR升級為NVARCHAR的成本太高或難以實現
      理由4:使用VARCHAR存放非英文字符時,容易生成錯誤的預估值,尤其在執行LIKE這類前綴匹配的預估時。

       

      posted @ 2017-11-17 10:53  .NET快速開發框架  閱讀(2926)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 久久一日本道色综合久久| 亚洲日韩久热中文字幕| 乱人伦人妻中文字幕不卡| 人妻一区二区三区三区| 国产乱码精品一区二区三| 免费无码AV一区二区波多野结衣| 欧美亚洲综合成人A∨在线| 久久精品国产一区二区三区不卡| 中国女人高潮hd| 2020国产成人精品视频| 亚洲第一狼人成人综合网| 亚洲qingse中文字幕久久| 不卡国产一区二区三区| 91精品国产综合久蜜臀| 久久不见久久见免费影院www日本| 国产精品视频不卡一区二区| 国产综合色在线精品| 国偷自产一区二区三区在线视频| 精品人妻伦一二二区久久| 日本熟妇色xxxxx日本免费看| 婷婷99视频精品全部在线观看| 亚洲经典av一区二区| 99精品久久久久久久婷婷| 精品少妇无码一区二区三批| 久久国产国内精品国语对白| 在国产线视频A在线视频| 亚洲精品日韩在线观看| 国产中文字幕精品免费| 成人国产精品中文字幕| 综合欧美视频一区二区三区| 奇米影视7777久久精品| 4399理论片午午伦夜理片| 91老肥熟女九色老女人| 亚洲国产中文字幕精品| 亚洲成人av综合一区| 一本色道久久东京热| 宁安市| 亚洲国产精品日韩AV专区| 久久91精品牛牛| 国产情侣一区二区三区| 午夜精品久久久久久久2023|