前几天,遇到一个十分棘手的问题,有同事提出在是字符类型的列中进行起止号计算,大体是这样的 新起号=上一条止号+1 新止号=新起号+数量 而在这一列的数据是这样的 库存 CN003?005007 000890670000 98111100 库存 370111900000 001,800,900,00 ~~~~~~~~~~~~ 木办法,问度娘吧,发现还是高人多啊,提出用ISNUMERIC(列名)=1,就是数字类型的,但是请看一下ISNUMERIC的说明文档 ISNUMERIC 语法   ISNUME…
SQL Server数据库字段类型说明 目前Sql Server 数据库一共有X个字段类型,大体分为9类,分别是字符串类型.二进制码字符串数据类型.Unincode字符串数据.整数类型.精确数据类型.近似值浮点数值数据类型.日期时间数据类型.货币数据类型.特殊数据类型.当然Sql Server还提供用户自定义的数据类型,但在我这篇不做讨论. 字符串类型 Char char数据类型用来存储指定长度的定长非统一编码型的数据.当定义一列为此类型时,你必须指定列长.当你总能知道要存储的数据的长度时,此数…
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:1772,但实际为 0:0).在文件 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\sgdtcc.MDF' 中.偏移量为 0x00000000dd8000 的位置对数据库 ID 10 中的页 (1:1772) 执行 读取 期间,发生了该错误.SQL Server 错误日志或系统事件日志中的其他消息可能提供了…
原文:.SQL Server中 image类型数据的比较 在SQL Server中如果你对text.ntext或者image数据类型的数据进行比较.将会提示:不能比较或排序 text.ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符.不过image也是不支持like比较的.那怎么样对数据库中的图片做比较呢.对于这种大型对象的处理,在Oracle中有有专门的函数DBMS_LOB.COMPARE,而SQLSERVER中没有专门的处理函数,只能通过使用substri…
最近在查询SQL时遇到SQL文件错误,可能是文件数据已损坏.解决过程分享给大家. 问题描述 消息 824,级别 24,状态 2,第 1 行SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:19741588,但实际为 0:0).在文件 'D:\analytics.MDF' 中.偏移量为 0x000025a7728000 的位置对数据库 ID 10 中的页 (1:19741588) 执行 读取 期间,发生了该错误.SQL Server 错误日志或系统事件日志…
引用:http://luowei1371984.blog.163.com/blog/static/44041589201491844323885/ SQL2008运行select count(*) from produce出现以下的错误(所在数据库暂以test命名)================================消息 824,级别 24,状态 2,第 1 行SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0xca242b1f,但实际为: 0xfb…
背景:新建DB_GZN 恢复数据库备份文件 执行:          select * from VI_MPS_PAPLT 错误提示: 消息 824,级别 24,状态 2,第 2 行 SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确(应为: 0x20d61048,但实际为: 0x7a8ab3ae).在文件 'C:/Program Files/Microsoft SQL Server/MSSQL10.MSSQLSERVER/MSSQL/DATA/DB_GZN.mdf' 中.…
SQL Server返回DATETIME类型的年.月.日,有两种方法,如下所示: DECLARE @now DATETIME=GETDATE() --第一种方法 SELECT @now,YEAR(@now),MONTH(@now),DAY(@now),DATEPART(HH,@now),DATEPART(MI,@now),DATEPART(SS,@now),DATEPART(MS,@now) --第二种方法 SELECT @now,DATEPART(YYYY,@now),DATEPART(MM,…
用户定义函数(UDF)分类  SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(Table-Valued Function).其中表值函数又分为Inline table-valued functions和Multistatement table-valued functions. 用户定义函数(UDF)在 SQL Server 中发挥重要的作用.用户定义函数可以用于执行复杂的逻辑…
原文:深入理解SQL Server 2005 中的 COLUMNS_UPDATED函数 概述 COLUMNS_UPDATED函数能够出现在INSERT或UPDATE触发器中AS关键字后的任何位置,用来指示表或视图中有哪些列已被插入或者更新.它通常和IF语句一起使用,从而可以根据不同的结果,促使触发器执行不同的操作.因此在DML触发器中,COLUMNS_UPDATED函数是一个非常重要且有用的函数. 不同于UPDATE函数,COLUMNS_UPDATED函数可以工作在多个列中,它使用字节中的位(B…
在SQL Server中,我们通常使用用户定义的函数来编写SQL查询.UDF接受参数并将结果作为输出返回.我们可以在编程代码中使用这些UDF,并且可以快速编写查询.我们可以独立于任何其他编程代码来修改UDF. 在SQL Server中,我们具有以下类型的用户定义函数. 标量函数:标量用户定义的函数返回单个值.您将始终具有RETURNS子句.返回值不能是文本,图像或时间戳.以下是标量函数的示例.   Create FUNCTION dbo.ufnGetCustomerData (@Customer…
SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅途(www.Zuowenjun.cn) --CreateDate:2015-06-02 --Function:分页获取数据 /******************/ create procedure [dbo].[sp_DataPaging] ( @selectsql nvarchar(200),-…
MS SQL Server 未公开的加密函数有哪些? 以下的文章是对MS SQL Server 未公开的加密函数的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以点击了. MS SQL Server 未公开的加密函数,假如你对MSSQL的用户信息有兴趣了解的话,可能会发现关于master.dbo.sysxlogins里面存放着一些相关的用户口令,但是password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢? 其实只要仔细看看master.dbo.sp_add…
前阵子遇到一个很是棘手的问题,监控系统DPA发现某个自定义标量函数被调用的次数非常高,高到一个离谱的程度.然后在Troubleshooting这个问题的时候,确实遇到了一些问题让我很是纠结,下文是解决问题过程的一点思索和尝试,如果你有更好的思路和解决方法,也请多多指教. DPA可以监控到该函数每小时被调用的次数,如下截图所示: 那么第一个问题来了. DPA如何监控获取这个函数每小时执行多少次呢? 其实这个很简单, sys.dm_exec_query_stats视图里面有个字段execution_…
SQL SERVER 提供了一些时间函数:取当前时间:select getdate()取前一个月的时间:SELECT DATEADD(MONTH,-1,GETDATE()) 月份减一个月取年份:SELECT YEAR( DATEADD(MONTH,-1,GETDATE())),Year 取年份取月份:SELECT MONTH( DATEADD(MONTH,-1,GETDATE())) ,month 取月份.如上,可通过对日期函数的各种组合,来达到目标.…
等待的类型 资源等待 当某个工作线程请求访问某个不可用的资源(因为该资源正在由其他某个工作线程使用,或者该资源尚不可用)时,便会发生资源等待.资源等待的示例包括锁等待.闩锁等待.网络等待以及磁盘 I/O 等待.锁等待和闩锁等待是指等待同步对象 队列等待 当工作线程空闲,等待分配工作时便会发生队列等待.队列等待通常发生在系统后台任务(如监视死锁以及清除已删除的记录等任务)中.这些任务将等待工作请求被放入工作队列.即使没有新数据包放入队列,队列等待也可能定期处于活动状态. 外部等待 当 SQL Se…
在比较SQL Server的类型为smalldatetime字段时出现下面的错误:将 expression 转换为数据类型 smalldatetime 时出现算术溢出错误 正确的比较方法如下:将long型转换为时间格式的字符串,再与smalldatetime类型的字段比较 SELECT * FROM tablename WHERE EditFlag > '2017/3/27 11:22:00' order by EditFlag 尝试了使用SQL Server的内部函数将long转换后比较,但是…
'**************************************************'函数ID:0014[检测ID是否为数字类型]'函数名:JCID'作 用:检测ID是否为数字类型'参 数:ParaValue ---- 被检测的ID值'返回值:返回ID值,如果不为数字类型返回0'**************************************************Function JCID(ByVal ParaValue) If ((Not isNumeric(P…
首先创建一个标量值函数DigLock,用来递归检测SqlServer中的每一个会话是否存在加锁循环,如果该函数最终返回1则表示检测到了加锁循环 (也就是说检测到了死锁),如果最终返回0则表示没有检测到加锁循环. CREATE FUNCTION [dbo].[DigLock] ( @spid int, @orginSpid int ) RETURNS bit AS BEGIN declare @blockedSpid int=null; and blocked=@spid if @blockedS…
最近做了一个项目,把整个数据仓库平台下所有的表和索引都改成页级别的数据压缩.昨天发现测试环境下的某个workload跑得比平时慢.最后我们定位了到这个workload做的事情中可能造成性能下降的地方,其实也就是定位到某条SQL语句.这条语句是一条MERGE语句.我们通过复制出另外两张表(MERGE语句中的target表).这样我们就有三张表:一张是PAGE DATA_COMPRESSION,一张是ROW DATA_COMPRESSION,最后一张是NONE DATA_COMPRESSION.此举…
 转自CSDN TJVictor专栏:http://blog.csdn.net/tjvictor/archive/2009/07/13/4344429.aspx   SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset.   各时间类型范围.精度一览表:   数据类型 时间范围 精度  datetime 1753-01-01到9999-12-31  00:00:00…
Sql Server 提供了四种服务器类型: 如图所示  : 1, 数据库引擎  2, Analysis Services (分析服务 )  3, Reporting  Services (报告服务)  4, Integration  Services (集成服务) 1, 数据库引擎 数据库引擎:  是 Sql Server的核心服务 他是存储和处理表格关系格式的数据或xml文档格式的数据服务.负责完成数据存储,处理,和安全. 2,Analysis Services (分析服务 ) Analys…
sql server字符串分为不同的类型,下面就将为您介绍几个sql server字符串的常见类型,希望对您学习sql server字符串能有所帮助. nchar 此数据类型可存储1~4000个定长Unicode字符串,字符串长度在创建时指定:如未指定,默认为nchar(1).每个字符占用2bytes存储空间. varchar 此数据类型可存储最大值为8000个字符的可变长字符串.可变长字符串的最大长度在创建时指定,如varchar(50),每个字符占用1byte存储空间. nvarchar 此…
SQL数据类型是一个属性,它指定任何对象的数据的类型.在SQL中每一列,变量和表达有相关数据类型. 当创建表时,需要使用这些数据类型. 会选择根据表列要求选择一个特定的数据类型. SQL Server提供了六个类型供使用: 精确数值数据类型: 近似数值数据类型: 日期和时间数据类型: 注意: 在这里,日期时间有3.33毫秒的精度,而SMALLDATETIME有1分的准确性. 字符串数据类型: Unicode字符字符串数据类型: 二进制数据类型: 其它数据类型:…
SQL SERVER: float 与 real 7位数或15位数.这里说的位数,不是指小数位,而是包括整数和小数在内的位数. float的位数是多少,要看float[(n)]里的n数值是多少. n value 精度 存储大小 1-24 7 位数 4 字节 25-53 15 位数 8 字节 注意: SQL Server 将 n 视为下列两个可能值之一.如果 1<=n<=24,则将 n 视为 24.如果 25<=n<=53,则将 n 视为 53. (是不是很怪异) 如果不写这个n,默…
sql server表中的某一列数据为不一定连续的数字,但是需求上要求按照连续数字来分段显示,如:1,2,3,4,5,6,10,11,12,13, 会要求这样显示:1~6,10~13.下面介绍如何实现. 话不多说,直接上实例. --创建测试表CREATE TABLE PartitionTest(ID INT IDENTITY(1,1) PRIMARY KEY,KeyID INT ,--标识IDNum INT --号码)--插入数据,KeyID不同INSERT INTO dbo.Partition…
SQL SERVER – Fix: Error : 402 The data types ntext and varchar are incompatible in the equal to operator Some errors are very simple to understand but the solution of the same is not easy to figure out. Here is one of the similar errors where it clea…
sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项sysdatabases 主数据库 服务器中的数据库syslanguages 主数据库 语言syslogins 主数据库 登陆帐号信息sysoledbusers 主数据库 链接服务器登陆信息sysprocesses 主数据库 进程 sysremotelogins主数据库 远程登录帐号syscolumn…
/************************************************************** SQL Server 2012 新增的函数 ***************************************************************/ -- CONCAT ( string_value1, string_value2 [, string_valueN ] ) #字符串相连 SELECT CONCAT('A','BB','CCC','…
一.简介 Microsoft SQL Server 2005之后,实现了对 Microsoft .NET Framework 的公共语言运行时(CLR)的集成.CLR 集成使得现在可以使用 .NET Framework 语言编写代码,从而能够在 SQL Server 上运行,现在就可以通过 C# 来编写 SQL Server 自定义函数.存储过程.触发器等.我最初的目的是因为在 SQL Server 数据库中遇到数字的十进制与十六进制的互相转换问题,也看过一些方法吧,但是最后我却选择了用 CLR…