月度归档:2018年06月

mssql sqlserver 保存蒙古文的乱码的处理方法


摘要:
由于公司客户遍布全球,今天用户在系统里面输入一串备注为“蒙古文”,保存到数据库后变成问号,下文将讲述具体的解决方法,如下所示:
实验环境:
sqlserver 2008


单据的备注,我们采用nvarchar存储相关信息,当用户输入一串“蒙古文”,保存至数据库时,变成”问号?”,中文和英文则可以正常保存。
查阅相关资料后,我们发现再数据存储至数据库时,我们采用unicode编码进行转换后,则可以进行相关数据保存,如下所示:

  insert into tableName(billNo,remarks)values('单号',N'备注测试:Баримт бичгийн тэмдэглэл');
  ---进行相关测试后,数据被保存至数据库中


注意事项:
如果数据库存储数据时,出现乱码或者问号的情况,此时我们需从以下方面入手:
1.检查数据库的编码是否合理
2.数据存储至表时,检测插入数据的编码,并且此编码是否包含此类语言
通常情况下我们采用unicode就可以存储所有语言,因为unicode目前包含市面上所有语言。

mssql sql语句检索数据时”过滤特殊字符”的方法分享


摘要:
下文讲述sql脚本中检索数据时”过滤特殊字符”的方法:
实验环境:sql server 2008 R2


常见的特殊字符有:单引号、百分号、下划线、左中括号等

    --在sql脚本检索数据中,除单引号我们需使用单引号作为转义字符进行转义
    ---1.检索单引号
     select * from tableName where [列名] like '''' ---双单引号
     ---2.其它特殊字符检索,采用中括号转义
     select * from tableName where [列名] like '%[其它特殊字符]%' 
     ---方法3.1:  采用escape指定匹配条件中转义字符为~,对"特殊字符"进行转义查询
     select *,'1.2' as [例2] from tableName where [列名]  like '%~其它特殊字符%'   escape '~' 
     ---3.2采用escape指定匹配条件中转义字符为t,对“特殊字符”进行转义查询
     select *,'1.3' as [例3] from tableName where [列名]  like '%t其它特殊字符%'   escape 't'

mssql sql语句过滤百分号的方法分享


摘要:
下文讲述sql脚本中过滤百分号的方法:
实验环境:sql server 2008 R2


百分号:在sql脚本编写中“百分号”被界定为一种通配符,那么如果我们需检索数据中是否存在百分号时,需采用何种方法呢?
下文通过实例的方式分析百分号的匹配方式。

   ---在sql server中,如果需要检索百分号是否存在数据中,我们使用以下方法:
      ---方法1:中括号括起百分号进行过滤操作
           select * from tableName where [列名]  like '%[%]%'  ---采用中括号括起百分号
      ---方法2.1:  采用escape指定匹配条件中转义字符为~,对百分号进行转义查询
       select *,'1.2' as [例2] from tableName where [列名]  like '%~%%'   escape '~' 
        ---2.2采用escape指定匹配条件中转义字符为t,对百分号进行转义查询
            select *,'1.3' as [例3] from tableName where [列名]  like '%t%%'   escape 't'