-
SQLServer实现split函数分割字符串功能及用法示例
本文实例讲述了SQLServer实现split函数分割字符串功能及用法。分享给大家供大家参考,具体如下:/*函数名称:f_SplitToNvarchar作用:实现split功能的函数更新记录:设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里*/CREATEFUNCTION[dbo].[f_SplitToNvarchar](@SourceSqlNVARCHAR(MAX),--源分隔字符串@StrSeprateVARCHAR(10)--分隔符)RETURNS@tempTABLE(colNVARCHAR(MAX))ASBEGINDECLARE@iINTSET@SourceSql=RTRIM(LTRIM(@SourceSql))SET@i=CHARINDEX(@StrSeprate,@SourceSql)WHILE@i>=1BEGININSERT@tempVALUES(LEFT(@SourceSql,@i-1))SET@SourceSql=SUBSTRING(@SourceSql,@i+1,LEN(@SourceSql)-@i)SET@i=C...
数据库操作教程 2022-09-23 18:06:08 -
SQL提取数据库表名及字段名等信息代码示例
本文向大家介绍了使用SQL语句提取数据库所有表的表名、字段名的实例代码,在SQLserver中进行了测试,具体内容如下:--查询所有用户表所有字段的特征SELECTD.NameasTableName,A.colorderASColOrder,A.nameASName,COLUMNPROPERTY(A.ID,A.Name,'IsIdentity')ASIsIdentity,CASEWHENEXISTS(SELECT1FROMdbo.sysobjectsWHEREXtype='PK'ANDNameIN(SELECTNameFROMsysindexesWHEREindidIN(SELECTindidFROMsysindexkeysWHEREID=A.IDANDcolid=A.colid)))THEN1ELSE0ENDAS主键,B.nameAS类型,A.lengthAS[长度],A.xprecAS[精度],A.xscaleAS[小数],CASEWHENA.isnullable=1THEN1ELSE0ENDAS[可为空],ISNULL(E.text,'')AS[默认值],ISNULL(G.[va...
数据库操作教程 2022-09-23 18:05:58 -
sql查询出各科成绩最好的学生信息
1.相关数据表Score表 [User]表SQL语句如下:复制代码代码如下:--查询出各科成绩最好的学生信息--自连接--SELECTTOP1*FROMScoreBWHEREB...
数据库操作教程 2022-09-23 18:00:12 -
SQLServer时间戳功能与用法详解
本文实例讲述了SQLServer时间戳功能与用法。分享给大家供大家参考,具体如下:一直对时间戳这个概念比较模糊,相信有很多朋友也都会误认为:时间戳是一个时间字段,每次增加数据时,填入当前的时间值...
数据库操作教程 2022-09-23 17:59:43 -
SQLServer出现System.OutOfMemoryException异常的解决方法
今天在用SQLServer2008执行一个SQL脚本文件时,老是出现引发类型为“System.OutOfMemoryException”的异常错误,脚本明明是从SQLServer2008导出的,应该不会出错,研究了好久问题才得以解决。出现这个错误的主要原因是由于SQL脚本文件太大,估计超过了100M了,解决方法就是把脚本文件分成几个脚本文件,分别去执行即可...
数据库操作教程 2022-09-23 17:56:39 -
一个统计表每天的新增行数及新增存储空间的功能
使用文中提供的代码做一个统计表每天的新增行数及新增存储空间的功能实现步骤如下:1.创建表创建表,存储每天的表空间占用情况CREATETABLE[dbo]...
数据库操作教程 2022-09-23 17:45:50 -
实例讲解SQLServer加密功能
SQLServer中加密是层级的,每一个上层为下提供保护。如图:实例:/**SMK(ServiceMasterKey)在SQLServer安装时生成,由WindowsDPAPI(DataProtectionAPI)提供保护**//**创建数据库级别DMK(DatabaseMasterKey),受SMK保护**/createmasterkeyencryptionbypassword=N'Passw0rd'go/**数据库内的加密对象受DMK保护支持的对称加密算法:DES|TRIPLE_DES|TRIPLE_DES_3KEY|RC2|RC4|RC4_128|DESX|AES_128|AES_192|AES_256非对称加密算法:RSA_512|RSA_1024|RSA_2048注意避免使用RC,DESX类算法,2014之后会删除此功能**/--1.创建非对称密钥.createasymmetrickeyasyc_key_encwithalgorithm=RSA_1024encryptionbypassword=N'Pass@word'go--2.创建对称密钥.createsymmetrick...
数据库操作教程 2022-09-23 17:41:25 -
自增长键列统计信息的处理方法
这篇文章通过文字代码的形式讲解了如何处理用自增长键列的统计信息。我们都知道,在SQLServer里每个统计信息对象都有关联的直方图...
数据库操作教程 2022-09-23 17:40:01 -
使用NotePad++录制宏功能如何快速将sql搜索条件加上前后单引号
當我們有很多筆的條件要對資料庫進行搜尋時,常常會用到下列的語法SELECT*FROMMemberWHEREaccuntin('Tom','John','May')在上述語法IN的搜尋條件中,有Tom、John、May三個帳號條件,資料量少的話,還可以一筆一筆的在帳號的前後加上單引號及後面加上逗號,可是當你遇到要一次查詢50個帳號的情況,一筆一筆的輸入,應該會耗費不少時間。以前我都會用Excel裡的CONCATENATE函式來處理這樣的資料,但是有一天同事教我可以用NotePad++的巨集功能來完成這件事情我覺得這方式比在Excel處理還快速,所以在這裡分享一下1.將要處理的搜尋條件貼到NotePad++,以下圖來看,有25筆(圖中的英文名字是從google隨機搜尋到的清單)2.因為巨集就是將你的操作紀錄下來,所以先將游標移到第一筆資料的開始位置,然後按下NotePad++工具列上的巨集按鈕,開始錄製3.因為游標已經在最開頭,也就是第一筆資料的位置,所以請直接用鍵盤,按照下面的鍵盤按鍵順序進行輸入(下方括號中的都是鍵盤的按鍵喔)「'」→「End」→「'」→「,」→「↓」→「H...
数据库操作教程 2022-09-23 17:39:42 -
SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
在SQLSERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息。如有不足和遗漏,敬请补充...
数据库操作教程 2022-09-23 17:37:39 -
SQLServer中聚合历史备份信息对比数据库增长的方法
很多时候,在我们规划SQLServer数据库的空间,或向存储方面要空间时,都需要估算所需申请数据库空间的大小,估计未来最简单的办法就是看过去的趋势,这通常也是最合理的方式。通常来讲,一个运维良好的数据库都需要做定期基线(baseline),有了基线才会知道什么是正常...
数据库操作教程 2022-09-23 17:26:34 -
通过SQLServer的位运算功能巧妙解决多选查询方法
无论使用int还是varchar,对于Status的多选查询都是不易应对的。举例,常规思维下对CustomerStatus的Enum设置如下:复制代码代码如下:[Serializable]publicenumCustomerStatus{New=0,Active=1,Overdue=2,Suspended=3,Closing=4,Closed=5}在数据库中以int形式存储了Status值...
数据库操作教程 2022-09-23 17:25:14