-
MSSQL中进行SQL除法运算结果为小数却显示0的解决方法
今天在用MSSQL进行SQL除法运算时,发现运算结果有小数,而整数部分为0时,结果直接显示为0,经过一翻测试发现了解决方法,拿来分享。假设有如下的一段SQL除法运算:selectfield1/field2fromtable假设其运算结果应该为0.123,但实际在MSSQL查询编辑器中运算直接就显示为0了,那么要想显示其真实结果,有什么办法呢?方法就是将分子field1的数据类型强制转换为float型,方法如下:selectcast(field1asfloat)/field2fromtable...
数据库操作教程 2022-09-23 17:47:22 -
SQLServer数据汇总五招轻松搞定
本文我们将讨论如何使用GROUPBY子句来汇总数据。使用单独列分组GROUPBY子句通过设置分组条件来汇总数据,在第一个例子中,我在数据库AdventureWork2012中的表Sales.SalesOrderDetail.中的一列上进行数据分组操作...
数据库操作教程 2022-09-23 17:47:20 -
SQLServer比较常见数据类型详解
在SQLServer中每个变量、参数、表达式等都有数据类型。系统提供的数据类型分为几大类,如表4-2所示...
数据库操作教程 2022-09-23 17:47:15 -
深入浅析SQLServer触发器
触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的...
数据库操作教程 2022-09-23 17:47:11 -
SqlServer使用casewhen解决多条件模糊查询问题
我们在进行项目开发中,经常会遇到多条件模糊查询的需求。对此,我们常见的解决方案有两种:一是在程序端拼接SQL字符串,根据是否选择了某个条件,构造相应的SQL字符串;二是在数据库的存储过程中使用动态的SQL语句...
数据库操作教程 2022-09-23 17:47:05 -
SqlServer异常处理常用步骤
SQLServer常见的问题主要是SQL问题造成,常见的主要是CPU过高和阻塞。一、CPU过高的问题1、查询系统动态视图查询执行时间长的sql语句WITHProcessCTE(blocked)AS(SELECTspidFROMsys.sysprocessesWHEREcpu>500)SELECTdistincta.*FROM(SELECTTEXT,AA.*FROMsys.sysprocessesAACROSSAPPLYsys.dm_exec_sql_text(AA.sql_handle))aJOINProcessCTEbucteWITH(NOLOCK)ONbucte.blocked=a.spid--whereloginame='TCScenery'ORDERBYa.CPU二、阻塞问题1、查询系统动态视图查询阻塞的sql语句WITHProcessCTE(blocked)AS(SELECTblockedFROMsys.sysprocessesWHEREblocked>0unionSELECTblockedFROMsys.sysprocessesWHEREblocked>0...
数据库操作教程 2022-09-23 17:47:03 -
配置SQLServer数据库恢复模式(2种方法)
下面主要介绍配置SQLServer数据库恢复模式的两种方法。用T-SQL设置恢复模式你可以使用“ALTERDATABASE”命令加“SETRECOVERY”语句来修改数据库的恢复模式...
数据库操作教程 2022-09-23 17:47:00 -
SQLSERVER中GO的作用详解
具体不废话了,请看下文详解。usedb_CSharpgoselect*,备注=casewhenGrade>=90then'成绩优秀'whenGrade<90andGrade>=80then'成绩良好'whenGrade<80andGrade>=70then'成绩及格'else'不及格'endfromtb_Grade如果只是执行一条语句,有没有GO都一样如果多条语句之间用GO分隔开就不一样了每个被GO分隔的语句都是一个单独的事务,一个语句执行失败不会影响其它语句执行...
数据库操作教程 2022-09-23 17:46:55 -
修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库
具体不废话了,请看下文代码详细说明吧。向表中增加一个varchar列: ALTERTABLEdistributorsADDCOLUMNaddressvarchar(30); 从表中删除一个字段: ALTERTABLEdistributorsDROPCOLUMNaddressRESTRICT; 在一个操作中修改两个现有字段的类型: ALTERTABLEdistributors ALTERCOLUMNaddressTYPEvarchar(80), ALTERCOLUMNnameTYPEvarchar(100); 使用一个USING子句,把一个包含UNIX时间戳的integer字段转化成timestampwithtimezone: ALTERTABLEfoo ALTERCOLUMNfoo_timestampTYPEtimestampwithtimezone USING timestampwithtimezone'epoch'+foo_timestamp*interval'1second'; 对现存字段改名: ALTERTABLEdistributorsRENAME...
数据库操作教程 2022-09-23 17:46:50 -
如何把sqlserver数据迁移到mysql数据库及需要注意事项
在项目开发中,有时由于项目开始时候使用的数据库是SQLServer,后来把存储的数据库调整为MySQL,所以需要把SQLServer的数据迁移到MySQL。下面是小编日常整理的一种sqlserver数据库迁移的方法...
数据库操作教程 2022-09-23 17:46:48 -
详解SQL死锁检测的方法
sqlserver中的死锁是指进程之间互相永久阻塞的状态,下文就将为您介绍如何检测sqlserver死锁,希望对您有所帮助。死锁(deadlock)指进程之间互相永久阻塞的状态,SQL可以检测到死锁,并选择终止其中一个事务以干预sqlserver死锁状态...
数据库操作教程 2022-09-23 17:46:45 -
SQLServer分页查询通用存储过程(只做分页查询用)
自开始做项目以来,一直在用。这段存储过程的的原创者(SORRY,忘记名字了),写得这段SQL代码很不错,我在这个基础上,按照我的习惯以及思维方式,调整了代码,只做分页查询用...
数据库操作教程 2022-09-23 17:46:44