-
详细分析sqlserver中的小数类型(float和decimal)
在SQLServer中实际上只有两种小数数值类型,分别是float(近似数值)和decimal(精确数值),这两种类型能表示所有的小数数值类型。float(近似数值类型)float表示的是近似数值,存在一定的精度缺失...
数据库操作教程 2022-09-23 18:14:59 -
浅谈sqlserver下float的不确定性
很多时候,大家都知道,浮点型这个东西,本身存储就是一个不确定的数值,你永远无法知道,它是0=0.00000000000000123还是0=0.00000000000999这样的东西。也许一开始使用的时候没有问题,但是有时候做统计的时候,就会看出端倪简单的举个例子,就知道统计的时候,有可能出现意外的效果,导致可能需要存储过程或者接收程序的代码左额外的取舍数位的处理,所以在此其实我是推荐使用Numeric来替代float进行一个替代使用,避免一个sum,然后明明明细看每一条数据都是正常的2,3位小数,一汇总就变成了8,9位的样子CREATETABLE#T(IDINTIDENTITY,VaFLOAT)CREATETABLE#T1(IDINTIDENTITY,VaNUMERIC(15,9))--分开执行-------------------------------------------------INSERTINTO#T(Va)VALUES(0.60000000)INSERTINTO#T1(Va)VALUES(0.60000000)GO100SELECTSUM(Va)FROM#TSELECT...
数据库操作教程 2022-09-23 18:13:48 -
详解SQLServer中JSON_MODIFY的使用
SQLServer中JSON_MODIFY的使用IntroSQLServer从2016开始支持了一些JSON操作,最近的项目里也是好多地方字段直接存成了JSON,需要了解一下怎么在SQLServer中操作JSON.JSON支持适用于SQLServer2016及以上版本和AzureSQLDatabase。最近在项目中很多地方字段都是存一个JSON字符串,尤其是针对一些有很多不确定的属性的数据来说,这样的信息我们一般都放在一个Extra之类的字段保存一个JSON字符串,由于不确定性很大,很有可能会遇到要修改这个JSON字符串结构的问题,在修改JSON对象的某一个值和修改JSON的结构时都会用到JSON_MODIFY,今天就来介绍一下JSON_MODIFY的使用示例直接来看示例:--适用append在数组中追加元素PRINTJSON_MODIFY(@testJsonValue,'append$.skills','Azure');--无效用法,这样会把属性更新为字符串PRINTJSON_MODIFY(@testJsonValue,'$.skills','["C#","T-SQL","Azure...
数据库操作教程 2022-09-23 18:13:33 -
SQLServer在AlwaysOn中使用内存表的“踩坑”记录
前言最近因为线上alwayson环境的一个数据库上使用内存表。经过大概一个星期监控程序发现了一个非常严重问题这个数据库的日志文件不会截断,已用空间一直在增加(存在定时的每个小时的日志备份),同时内存表数据库文件也无法删除,下面就介绍一下后面我的处理过程,话不多说了,来一起看看详细的介绍吧...
数据库操作教程 2022-09-23 18:11:01 -
MySQL数据库source命令详解及实例
MySQL数据库source命令详解及实例MySQL数据库source命令,该命令是数据库导入命令。source命令的用法非常简单,首先你需要进入MySQL数据库的命令行管理界面,然后选择需要导入的数据库,执行source命令...
数据库操作教程 2022-09-23 18:09:55 -
SQLServerAlwayson添加监听器失败的解决方法
一、错误描述1.群集服务未能使群集服务或应用程序“Alwayson22”完全联机或脱机。一个或多个资源可能处于失败状态...
数据库操作教程 2022-09-23 18:09:15 -
SqlServer将查询结果转换为XML和JSON
很久之前用到的,现在整理在这,里面一些代码来源于网上,不过有些bug已被我修改了。1.查询结果转XMLDECLARE@ParameterSQLNVARCHAR(MAX)='SELECT*FROMtable';DECLARE@SQLNVARCHAR(MAX)DECLARE@XMLStringVARCHAR(MAX)DECLARE@XMLXMLDECLARE@ParamlistNVARCHAR(1000)SET@Paramlist=N'@XMLXMLOUTPUT'SET@SQL='WITHPrepareTable(XMLString)'SET@SQL=@SQL+'AS('SET@SQL=@SQL+@ParameterSQL+'FORXMLRAW,TYPE,ELEMENTS'SET@SQL=@SQL+')'SET@SQL=@SQL+'SELECT@XML=[XMLString]FROM[PrepareTable]'EXECsp_executesql@SQL,@Paramlist,@XML=@XMLOUTPUTSET@XMLString=CAST(@XMLASVARCHAR(MAX))SELE...
数据库操作教程 2022-09-23 18:08:56 -
Windows2012配置SQLServer2014AlwaysOn的图解
SQLserver2014AlwaysOn增强了原有的数据库镜像功能,使得先前的单一数据库故障转移变成以组(多个数据)为单位的故障转移。同时可以支持多达9个复制伙伴,可读性辅助副本服务器等多个特性...
数据库操作教程 2022-09-23 18:08:43 -
Sqlserver中内部函数fn_PhysLocFormatter存在解析错误详解
前言有网友指出,SQLServer2012中fn_PhysLocFormatter内部函数在解析数据行记录位置时存在错误,见:http://www.itpub.net/thread-1751655-1-1.html,实际测试后发现,一是2008R2中同样存在问题,二是不仅页号解析存在问题,槽号解析也存在同样问题。下面先查看表NT_SiteInfo的数据行记录位置...
数据库操作教程 2022-09-23 18:07:43 -
Activiti-Explorer使用sqlserver数据库实现方法
如何让Activiti-Explorer使用sqlserver数据库从官网下载的Activiti-explorer的war文件内部默认是使用h2内存数据库的,如果想改用其他的数据库来做持久化,比如sqlserver,需要做如下配置。1)修改db.properties文件路径:C:apache-tomcat-7.0.64webappsactiviti-explorerWEB-INFclassesdb.properties内容如下:db=mssqljdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc.url=jdbc:sqlserver://localhost:1433;databaseName=activitijdbc.username=sajdbc.password=xxxx2)从微软官网下载sqlserver的jdbc驱动;只要在搜索引擎上搜索关键词:sqlserverjdbcdriver找到微软官网的连接,我使用的是:https://msdn.microsoft.com/en-us/sqlserver/aa9377...
数据库操作教程 2022-09-23 18:01:32 -
浅述SQLServer的聚焦强制索引查询条件和ColumnstoreIndex
前言本节我们再来穿插讲讲索引知识,后续再讲数据类型中的日期类型,简短的内容,深入的理解。强制索引查询条件前面我们也讲了一点强制索引查询的知识,本节我们再来完整的讲述下(1)SQLServer使用默认索引USETSQL2012GOSELECT*FROMSales.Orders上述就不用我再啰嗦了,使用默认主键创建的聚集索引来执行查询执行计划...
数据库操作教程 2022-09-23 17:59:34 -
解析SQLServer聚焦移除(BookmarkLookup、RIDLookup、KeyLookup)
前言前面几节都是讲的基础内容,本节我们讲讲索引性能优化,当对大数据进行处理时首先想到的就是索引,一旦遇到这样的问题则手忙脚乱,各种查资料,为何平常不扎实基本功呢,我们由浅入深,简短的内容,深入的理解,而非一上来就把问题给框死,立马给出解决方案,抛出问题,再到解决问题,你GET了没有。BookmarkLookup、RIDLookup、KeyLookup定义一说到这三者,如果对索引研究不深的童鞋估计是懵逼的,什么玩意,我们姑且将上面三者翻译为:标签查找、行ID查找、键查找...
数据库操作教程 2022-09-23 17:59:22