w1100n
This site is best viewed in Google Chrome
wiloon, 3/7/2013 15:02 | Tag:

varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unico来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unico编码),英文字符保存到数据库中,如果字段的类型为varchar,则只会占用一个字节,而如果字段的类型为nvarchar,则会占用两个字节.   正常情况下,我们使用varchar也可以存储中文字符,但是如果遇到操作系统是英文操作系统并且对中文字体的支持不全面时, 在SQL Server存储中文字符为varchar就会出现乱码(显示为??).而且正常情况下,主机都会支持中文的环境,所以如果使用varchar来存储数据,在开发阶段是发现不了的.多数情况下,在布署的时候也不会有问题.   但是!如果布署的主机是英文操作系统,并且不支持中文环境,那问题就出来了.所有的varchar字段在存储中文的时候都会变成乱码(显示为??).而且一般情况下你不会知道这是因为你采用了错误的数据类型来存储所造成的,你会试着去装中文字体,试着去设置操作系统的语言环境...这些都不能解决问题,唯一能解决问题的是把数据库字段的类型个性为nvarchar(或者nchar).对项目管理比较熟悉的朋友应该都知道,到布署阶段再来修改数据库是一个很恐怖的事情.   使用nvarchar的另一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.   当然,使用nvarchar存储英文字符会增大一倍的存储空间.但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的.   所以在Design的时候应该尽量使用nvarchar来存储数据.只有在你确保该字段不会保存中文的时候,才采用varchar来存储.

wiloon, 2/21/2013 11:35 | Tag:

http://www.cnblogs.com/chenxizhang/archive/2009/06/26/1511898.html 这一篇我们来捋捋在T-SQL中可能会用到的几个特殊的函数 1. 随机数: RAND 返回从 0 到 1 之间的随机 float 值。 语法: RAND ( [ seed ] ) seed 提供种子值的整数表达式(tinyint、smallint 或 int)。如果未指定 seed,则 Microsoft SQL Server 数据库引擎 随机分配种子值。对于指定的种子值,返回的结果始终相同。 随机数是我们经常会用到的,几乎所有的语言都支持产生随机数。而且函数都差不多。例如在VBA和VB中也是用RAND,在C#中用RANDOM等等 【注意】我相信很多朋友都对于彩票那些数字很感兴趣.其实说白了,那是一个随机数(如果电脑开票的话). 那么,如果我们能猜到那个seed,就能模拟出来想要的号码。这不是天方夜谭,我曾经听说台湾就曾经有人这么做过,而且每期必中。后来据说被逮起来了,说是有内幕交易,其实人家冤枉啊。早期的彩票比较粗糙,确实可能才出来的。   2. 校验和值:CHECKSUM 返回按照表的某一行或一组表达式计算出来的校验和值。CHECKSUM 用于生成哈希索引。 语法:CHECKSUM ( * | expression [ ,…n ] … Continue reading

wiloon, 2/16/2013 15:07 | Tag:

货币数据类型 货币数据表示正的或负的货币值。在 Microsoft® SQL Server™ 2000 中使用money 和 smallmoney 数据类型存储货币数据。货币数据存储的精确度为四位小数。 ·money 存储范围是 -922,337,203,685,477.5808 至+922,337,203,685,477.5807 (需 8 个字节的存储空间)。 ·smallmoney 存储范围是 -214,748.3648 至 214,748.3647(需 4 个字节的存储空间)。 ·如果数值超过了上述范围,则可使用 decimal 数据类型代替。

wiloon, 11/15/2012 18:17 | Tag:

 将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。                  存储过程的优点     1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。 2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。 3.存储过程可以重复使用,可减少数据库开发人员的工作量 4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权                        创建存储过程 ************************************************* 语法 CREATE PROC[ EDURE ] [ owner. ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING ] [ = default ] [ OUTPUT ]      ] [ ,…n ] [ WITH { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ … Continue reading

wiloon, 11/14/2012 16:19 | Tag:

DBO是每个数据库的默认用户,具有所有者权限,即DbOwner 通过用DBO作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称。 比如:你以User1登录进去并建表Table,而未指定DBO, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。 如果你建表时把所有者指给了Dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。 不光表是如此,视图等等数据库对象建立时也要如此才算是好。 建表、存储过程、视图等数据库对象时,其对应的所有者是创建它的用户。则除了该用户其他登录用户要引用这些东东时,都要加上前缀,很是麻烦。而且,程序因此易出错,你查来查去问题确出在这,浪费你时间。

wiloon, 11/13/2012 13:29 | Tag:

1、安装时如果修改安装路径后报错 例如想把“C:\Program Files\Microsoft SQL Server” 修改为“D:\Program Files\Microsoft SQL Server” 错误的详细信息是:“ “The INSTANCESHAREDWOWDIR command line value was not specified. This value must be specified when the INSTANCESHAREDDIR value is specified.” ” 这篇Post回答了这个问题:http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3736253&SiteID=17 翻译过来就是: 首先:不修改路径,使用默认方式安装,最后在确认安装时会显示ConfigurationFile.ini文件的路径,到这个路径下面将安装配置文件复制到其他路径,例如D:\,然后退出安装 其次:使用记事本打开这个文件,根据实际需求将“C:\Program Files\Microsoft SQL Server” 查找替换为“D:\Program Files\Microsoft SQL … Continue reading

辽ICP备14012896