zoukankan      html  css  js  c++  java
  • SQL SERVER中生僻字问题存储与查询问题

    以下仅记录碰到的几个问题

    1.首先字段设置为varchar的时候存储后无法进行正常的显示 显示为?

      此状态下匹配查询或者Like模糊查询都没问题

    2.将字段设置为nvarchar,在进行插入或者跟新时入:insert into teset set membername='秦䶮 ' 此时䶮字仍然只显示?, insert into teset set membername=N'秦䶮 '时可正常插入显示

      此状态下用匹配查询=可以正常查询到,当使用like模糊查询时 䶮没有被识别到  like N'%秦䶮%'跟  like N'%秦%'查到的结果一样。

    既要显示正确又要正确查询解决办法

    select * from db_owner.systemMember where memberName like N'%秦䶮%' collate  Chinese_PRC_BIN 使用强制定义字符集排序
    后因为使用的时linq to sql查询,没法指定字符集排序。
    后将单表内但单字段的字符集排序从Chinese_PRC_CI_AS改为了Chinese_PRC_BIN进行查询正确。(此处因为没有用到临时表或跨表的字段匹配查询,所以仅更改了单字段的字符集排序。如果涉及到跨表跨字段匹配或者临时表因统一调整为同一字符集排序)。
     
     
    扩展字符集相关知识:

        解析:Chinese_PRC_BIN ;

          Chinese_PRC为简体中文UNICODE字符集

          _BIN 二进制排序 
          _CI(CS) 是否区分大小写,CI不区分,CS区分
          _AI(AS) 是否区分重音,AI不区分,AS区分   
          _KI(KS) 是否区分假名类型,KI不区分,KS区分 
            _WI(WS) 是否区分宽度 WI不区分,WS区分

  • 相关阅读:
    nginx+upsync+consul 构建动态nginx配置系统
    服务容错保护断路器Hystrix之六:缓存功能的使用
    consul之:ACL配置使用
    Consul之:服务健康监测
    Consul实践指导-DNS接口
    Spring 整合Mybatis实例
    ORACLE SEQUENCE 具体解释
    python高速排序
    降阶法计算行列式方法有个地方有Bug(原文也已更正,此为更正后部分)
    MyBatis在Oracle中插入数据并返回主键的问题解决
  • 原文地址:https://www.cnblogs.com/xuyufeng/p/11251657.html
Copyright © 2011-2022 走看看