• 回答数

    4

  • 浏览数

    939

臭居居
首页 > 计算机类考试 > sqlserver中,varchar和varing有什么区别?

4个回答 默认排序
  • 默认排序
  • 按时间排序

少年的泪不及海湛蓝

已采纳
1分钟前发布 -【sqlserver中,varchar和varing有什么区别?】http://www.sdrsks.org/ask 09月27日讯: sqlserver中,varchar和varing有什么区别?SQL SERVER中生成的语句中,字符串前加N。N 前缀必须是大写字母。是Unicode编码的意思,一般来说,英文字符是一个字节组成,但是国际上的字太多了,因此就用两个字节来表示字符,满足国际化的需要.在字符串前面加上 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 数据。Unicode 字符串常量支持增强的排序规则。select '''a''' --输出'a' 在sql语句中'用''来转义,其他字符可以直接输存储含有中文字符的最好有nvarchar存储只有英文、数字的最好用varchar1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar 所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。 2.有n前缀的,n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar 字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。 3.基于以上两点来看看字段容量 char,varchar 最多8000个英文,4000个汉字 nchar,nvarchar 可存储4000个字符,无论英文还是汉字 varchar与nvarchar的选择("n"前缀) 使用varchar存储含有非英文字符(比如中文,日文)时出现“??”的乱码 使用nvarchar的一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.   当然,使用nvarchar存储英文字符会增大一倍的存储空间.但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的.  所以在Design的时候应该尽量使用nvarchar来存储数据.只有在你确保该字段不会保存中文的时候,才采用varchar来存储. SqlServer中nvarchar和varchar的区别 1、各自的定义:1.nvarchar(n) : 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。 2.varchar[(n)]: 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。2、区别:1.从存储方式上,nvarchar是按字符存储的,而 varchar是按字节存储的;2.从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;3.在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;4.如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。
39 评论

甘之若饴

已采纳
sqlserver2008和mysql区别?SQL Server 2008和MySQL是两种不同的关系型数据库管理系统。SQL Server 2008是由Microsoft开发的商业数据库,而MySQL是由Oracle公司开发的开源数据库。这两种数据库在功能和性能方面有一些区别。SQL Server 2008提供了更多的高级功能,如复制、分区和数据压缩等。它还支持更多的数据类型和存储过程。另一方面,MySQL更注重性能和可扩展性,适用于大规模的Web应用程序。在安全性方面,SQL Server 2008提供了更多的安全功能,如透明数据加密和强大的访问控制。MySQL则更加简单,但也提供了基本的安全功能。在成本方面,SQL Server 2008是商业软件,需要购买许可证。而MySQL是开源软件,可以免费使用,但也有商业版本提供额外的功能和支持。总的来说,选择SQL Server 2008还是MySQL取决于具体的需求和预算。如果需要更多的高级功能和支持,可以选择SQL Server 2008。如果注重性能和成本,可以选择MySQL。
87 评论

〆花开花落几番晴〃

已采纳
c#中怎么取得数据库中的时间。代码怎么写绑定到界面上?oracle 取数据库时间:select sysdate from dual 通常格式2009-3-4 15:34:40只取日期:select to_char(sysdate,'yyyy-mm-dd') from dual只取时间:select to_char(sysdate,'hh24:mi:ss') from dualsqlserver取数据库时间:SELECT GETDATE() AS datatime只取日期:SELECT CONVERT(varchar(10), GETDATE(), 121) AS date只取时间:SELECT CONVERT(varchar(8), GETDATE(), 108) AS time执行sql之后,可以使用datatable或者dataset存储数据例如:string sql = “上面的sql语句”;Dtatable dt = sqlhelper.getDataTable(sql);//sqlhelper是类,getdatatable是方法;自己根据代码灵活处理;string myTime = dt.Rows[0][0].ToString(); //取0行0列的值只要将myTime 的值赋给你的空间或者在页面上显示就可以了例如控件:lable1.text=myTime;页面显示; //先要先将myTime设置成全局变量
8 评论

最温暖的墙

已采纳
sqlserver2008和mysql区别?SQL server 2008是微软出品的付费数据库系统,mysql是免费开源的数据库系统。
92 评论

相关问答

  • Access怎样在日期数据后面加序号?如:“2012-1-1-001”?

    Access怎样在日期数据后面加序号?如:“2012-1-1-001”?Access日期字段是内置数据变量格式,不可能在日期字段的前后加任何字符。如果你用Access、asp编程,可以将所谓的“日期字段”设置为文本字段,在用date()调用系统时间后写入所谓的“日期字段”

    挽手余生 4人参与回答 2024-09-27
  • 南宁学院创办时间?

    南宁学院创办时间?南宁学院南宁学院(南院,NanNing University,NNU),于1985年始建,坐落于广西南宁市,是南宁市人民政府与民革广西区委合作共办的高校,为应用技术大学(学院)联盟,是教育部批准可向港澳台招收本科生的学校。其前身为邕江大学,2012年11月23日,教育部正式下文批准邕江大学升格为本科高校并更名为南宁学院。[1]截至2018年5月,学院总校园面积近1300亩,教学仪

    顾辞曦 4人参与回答 2024-09-27
  • 全国计算机二级考试有几种?MS office是其中一种吗?

    全国计算机二级考试有几种?MS office是其中一种吗?考试科目:语言程序设计(C、C++、Java、Visual Basic、Delphi),另一类是数据库程序设计 MS office。 MS office是其中的一种; 考核内容:二级定位为程序员,考核内容包括公共基础知识和程序设计。所有科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和教程。二级公共基础知识在各科笔试中的分值比重为3

    把心丟到海裏喂魚 4人参与回答 2024-09-27
  • sql server前景?

    sql server前景?SQL数据库是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。一、SQL数据库的应用领域1、多媒体数据库这种数据库主要存储与多媒体有关的数据,如语音、图像和视频数据。多媒体数据最大的特点是数据连续、数据量大、存储空间大。2、移动数据库这种数据库是在笔记本电脑

    浅唱蝶舞 4人参与回答 2024-09-27
  • mysql中,创建表时如何定义一个日期类型的字段?

    mysql中,创建表时如何定义一个日期类型的字段?您好,如下是MySql中与时间相关的字段类型。datetime 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 timestamp 4 bytes YYYY-MM-DD HH:MM:SS 1970-01-01 00:00

    龙行☆辉 4人参与回答 2024-09-27