MS SQLDRVER学习应用几点总结
1、不支持从高类型转化到低类型
虽然 SQL Server 有时会将 tinyint 或 smallint 值提升为 int 数据类型,但是它不会自动将 tinyint、smallint 或 int 提升为 bigint。例如,如果参数表达式的数据类型是 tinyint 或 smallint,某些聚合函数会把返回值的数据类型升级为 int。而这些聚合函数将不会返回 bigint,除非参数表达式本身就是 bigint 类型。 当数据值一定要按照指定精确存储时,可以用带有小数的 decimal 数据类型来存储数字。 数据精度就是数中数字个数,小数位数是数中小数点右边的数字个数,binary、varbinary、和 image 数据类型的长度是字节数。如果两个数类型相同则结果集中为确定的类型, 如果不同,刚以数字型的精度优先。 ? 2、关于货币型数据 1、在数据前一定要货币符号 2、小数点后最多4 位,友多则用decimal型 3、带豆号的,把money型转化为字符串,在加豆号输出 ? 3、关于文件组 创建和更改默认文件组是为了防止不确定的用户自定义对象和在特定的用户自定义文件组中抢空间。 经测试,一个文件组可以跨多个磁盘,一个文件则只能在一个磁盘。 ? 4、强行断开MS SQLSERVER所有用户连接。 use?? master?? ? go?? ??? ? if?? exists?? (select?? *?? from?? dbo.sysobjects?? where?? id?? =?? object_id(N'[dbo].[p_killspid]')?? and?? OBJECTPROPERTY(id,?? N'IsProcedure')?? =?? 1)?? ? drop?? procedure?? [dbo].[p_killspid]?? ? GO?? ??? ? create?? proc?? p_killspid?? ? @dbname?? varchar(200) --要关闭进程的数据库名? ? as?????? ? declare?? @sql???? nvarchar(500)?????? ? declare?? @spid?? nvarchar(20)?? ??? ? declare?? #tb?? cursor?? for?? ? select?? spid=cast(spid?? as?? varchar(20))?? from?? master..sysprocesses?? where?? dbid=db_id(@dbname)?? ? open?? #tb?? ? fetch?? next?? from?? #tb?? into?? @spid?? ? while?? @@fetch_status=0?? ? begin?????? ? exec('kill?? '+@spid)?? ? fetch?? next?? from?? #tb?? into?? @spid?? ? end?????? ? close?? #tb?? ? deallocate?? #tb?? ? go?? ??? ? --用法????? ? exec?? p_killspid???? 'PMDB'?? ? go?? ? 5、设定为单用户模式的语句: EXEC SP_DBOPTION 'PMDB','SINGLE USER','TRUE' ? 6、MS SQL导出到excel语句 INSERT INTO OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 97-2000;HDR=YES;DATABASE=C:TEST.XLS',Orders)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |