当前位置: 首页 > news >正文

深圳网络专科网站建设自己做电影网站

深圳网络专科网站建设,自己做电影网站,中国免费图片素材网站,如何做网站本地服务器最近因为项目的需要#xff0c;报表中需要对数据进行MD5加密#xff0c;结果报表系统得出来的sql语句#xff0c;字符串前都自动带了N#xff0c;执行时#xff0c;发现得到的结果跟在数据库中执行的sql#xff08;字符串不带N#xff09;得的值不一样#xff0c;最后自…最近因为项目的需要报表中需要对数据进行MD5加密结果报表系统得出来的sql语句字符串前都自动带了N执行时发现得到的结果跟在数据库中执行的sql字符串不带N得的值不一样最后自己测试一下发现sql server执行md5加密的时候字符串前带N和不带N的结果确实是不一样的如下图 第2个值是自己想要的值为什么呢 因为表创建的时候字段用的字符类型时varchar而字符串加上N后数据类型默认为是 nvarchar了即加N后代表这个字符串是一个nvarchar类型在字符串前面加N可以把字符串转换为unicode编码每个字符串采用双字节的形式存储。所以字符串类型不一致导致加密得到的结果也不一致。 一般来说如果含有中文字符用nchar/nvarchar如果纯英文和数字用char/varcharvarchar是实际内容的长度而nvarchar占用的全部的存储所以计算出的结果不同 alter table table_name alter column name nvarchar(50);数据库字段改成 nvarchar(50) 之后计算结果就一致了但是我这里不使用这种方式 sql server中的varchar和nvarchar有什么区别 答 varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度而不是 n 个字节。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。 两字段分别有字段值我和coffee 那么varchar字段占2×2610个字节的存储空间而nvarchar字段占8×216个字节的存储空间。 如字段值只是英文可选择varchar而字段值存在较多的双字节中文、韩文等字符时用nvarchar 在字符串前面加上 N 代表存入数据库时以 Unicode 格式存储。 N’string’ 表示string是个Unicode字符串. Unicode 字符串的格式与普通字符串相似但它前面有一个 N 标识符N 代表 SQL-92 标准中的国际语言 (National Language)。N 前缀必须是大写字母。例如‘Michél’ 是字符串常量而 N’Michél’ 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据并且不使用代码页进行计算。Unicode 常量确实有排序规则主要用于控制比较和区分大小写。为 Unicode 常量指派当前数据库的默认排序规则除非使用 COLLATE 子句为其指定了排序规则。Unicode 数据中的每个字符都使用两个字节进行存储而字符数据中的每个字符则都使用一个字节进行存储。有关更多信息请参见使用 Unicode 数据。 我最终的解决方案是使用convert()函数把字符串前加N的转为varchar()字符类型如下图 sql语句 select upper(substring(sys.fn_sqlvarbasetostr(hashbytes(MD5, (select N00000000000000000011 char(13) char(10) N0001A110000000007LBY char(13) char(10) N2022-12 char(13) char(10) N750))),3,32)) as aunionselect upper(substring(sys.fn_sqlvarbasetostr(hashbytes(MD5, (select 00000000000000000011 char(13) char(10) 0001A110000000007LBY char(13) char(10) 2022-12 char(13) char(10) 750))),3,32)) as a union all select upper(substring(sys.fn_sqlvarbasetostr(hashbytes(NMD5,(select convert(varchar(20), N00000000000000000011) char(13) char(10) convert(varchar(20), N0001A110000000007LBY) char(13) char(10) convert(varchar(20), N2022-12) char(13) char(10) convert(varchar(20), N750)))), 3, 32)) as a
http://www.hkea.cn/news/14527144/

相关文章:

  • 网站后台修改不了福州产品网页制作的公司
  • 网站pc端和手机端分离怎么做太原网站建设
  • 网站建设的实践目的html网站开发软件
  • 电子商务网站建设与管理案例建设网站人员名单
  • 中学生做网站郑州怎样建设公司网站
  • 动静分离网站架构成都网站海口网站建设
  • xx单位网站建设方案广州市绿色建筑信息平台
  • 建设网站联盟centos7.2做网站
  • 做网站除了域名还需要什么好友介绍网站怎么做
  • 临海企业网站设计品牌建设还有待升华
  • 青岛做网站做网站过时了
  • 做pop网站php网站开发技术要点
  • 网站建设的公司太多了中国招标网官网首页
  • 烟台消防建设信息网站发稿什么意思
  • 用什么网站搭建小说网站装修公司加盟合作模式
  • 怎么提高网站建设水平陕西城乡建设局网站
  • 网站用nodejs做后台网站优化是在哪里做修改
  • 网站改版 收录网站内容不收录
  • 襄阳网站建设哪个好金融股票类app网站开发
  • 母婴网站 模板网站模块介绍
  • 关于网站建设的入门书以个人名义做地方门户网站
  • 上海网站建设导航网站前台的实现
  • 青岛公司网站东莞优化哪家好
  • 里水哪里做有做网站wordpress主题安装报错
  • 常州手机网站效果wordpress 小说系统
  • 生产企业做网站的费用怎么做账wordpress编辑页面图片并排
  • 网站搭建计划书做网站一般用什么几号字
  • 中国建设银行官网站住房公积金seo网络培训学校
  • 秦皇岛学网站建设企业所得税怎么做账务处理
  • 想建一个自己的网站个人购物网站 怎么建