设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1796|回复: 0

SQL SERVER中生僻字问题存储与查询问题

[复制链接]

11

主题

76

金钱

128

积分

入门用户

发表于 2019-8-7 15:30:43 | 显示全部楼层 |阅读模式

以下仅记录碰到的几个问题
1.首先字段设置为varchar的时候存储后无法进行正常的显示 显示为?
  此状态下匹配查询或者Like模糊查询都没问题
2.将字段设置为nvarchar,在进行插入或者跟新时入:insert into teset set membername='秦䶮 ' 此时䶮字仍然只显示?, insert into teset set membername=N'秦䶮 '时可正常插入显示
  此状态下用匹配查询=可以正常查询到,当使用like模糊查询时 䶮没有被识别到  like N'%秦䶮%'跟  like N'%秦%'查到的结果一样。
1.png
既要显示正确又要正确查询解决办法

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区分
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表