zoukankan      html  css  js  c++  java
  • varchar,nvarchar不同呀。小心出错

    今天调程序,执行SQL老是报错。最终发现是 varchar 和 nvarchar 造成的。郁闷。
    本来没有这个问题,但是接口使用方传过来的字串编码错误,导致乱码。
    CREATE TABLE [TEST] (
        
    [nn] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
        
    CONSTRAINT [PK_TEST] PRIMARY KEY  CLUSTERED 
        (
            
    [nn]
        )  
    ON [PRIMARY] 
    ON [PRIMARY]
    GO

    select * from TEST

    insert into TEST(nn)
    values(N'BSS?ê?§ID')

    insert into TEST(nn)
    values(N'BSSÕÊ»§ID')
    /*
    服务器: 消息 2627,级别 14,状态 1,行 1
    违反了 PRIMARY KEY 约束 'PK_TEST'。不能在对象 'TEST' 中插入重复键。
    语句已终止。

    */


    declare @s nvarchar(50)
        ,
    @s2 nvarchar(50)

    select @s =N'BSS?ê?§ID' , @s2 = N'BSSÕÊ»§ID'

    select 1 where @s=@s2

    select 1 where N'BSS?ê?§ID'=N'BSSÕÊ»§ID'
    /*

    (所影响的行数为 0 行)


    (所影响的行数为 0 行)
    */


    declare @s varchar(50)
        ,
    @s2 varchar(50)

    select @s =N'BSS?ê?§ID' , @s2 = N'BSSÕÊ»§ID'

    select 1 where @s=@s2

    select 1 where N'BSS?ê?§ID'=N'BSSÕÊ»§ID'
    /*

    (所影响的行数为 1 行)


    (所影响的行数为 0 行)

    */
    QQ:273352165 evlon#126.com 转载请注明出处。
  • 相关阅读:
    react中refs的使用
    在npm发布自己造的轮子
    如何阅读一本书——分析阅读模板
    如何阅读一本书——检视阅读模板
    Redis教程——检视阅读
    如何阅读一本书——分析阅读Pre
    SVN常用功能介绍(二)
    SVN常用功能介绍(一)
    分页sql大全
    .NetCore 登录(密码盐+随机数)
  • 原文地址:https://www.cnblogs.com/evlon/p/409049.html
Copyright © 2011-2022 走看看