MS SQL Server字符拆分函数】的更多相关文章

Insus.NET以前有用XQuery的nodes()方法写过一个函数,是MS SQL字符拆分的函数,http://www.cnblogs.com/insus/archive/2012/02/26/2368283.html 今天学习SQL,再尝试另写一个: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Insus.NET --…
MS SQL Server的COALESCE函数是从一系列表达式中返回第一个NOT NULL的值. 检查[B],[Q],[S],[T],[U]的值: 检查顺序[B]->[Q]->[S]->[T]->[U],只要一遇上NOT NULL时,即刻返回. IF OBJECT_ID('tempdb.dbo.#Part_summary') IS NOT NULL DROP TABLE #Part_summary CREATE TABLE #Part_summary ( ), ,), ,), ,…
SQLServer时间日期函数详解,SQLServer,时间日期, 1.      当前系统日期.时间 select getdate() 2. dateadd      在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15')      --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数. select datediff(day,…
HASHBYTES 语法(参考MSDN): HASHBYTES ( '<algorithm>', { @input | 'input' } ) <algorithm>::= MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512 作用:返回其在 SQL Server 中的输入的 MD2.MD4.MD5.SHA.SHA1 或 SHA2 哈希值. T_User表中pwd列为varchar类型,执行sql: INSERT INTO T_Use…
注:先学习sql server里的递归CTE. 假设有兴趣表Hobbys Name Hobby 小张 篮球,足球,羽毛球 Name Hobby 小张 篮球 小张 足球 小张 羽毛球 采用[递归cte] startindex from Hobbys union all ) startindex ), then len(Hobby) else Hobby end) endindex,startindex from tempHobbys) ) Hobby from tempHobbys2…
前言 在操作数据库的时候经常会用到判断数据表.视图.函数/方法.存储过程是否存在,若存在,则需要删除后再重新创建.以下是MS SQL Server中的示例代码. 数据表(Table) 创建数据表的时候判断数据表是否存在,若存在则删除,会经常使用,特别是初始化的时候. --方法一 /*判断数据表是否存在,若存在则删除数据表*/ IF EXISTS (SELECT * FROM sys.objects WHERE name = 'Table_Name') DROP TABLE Table_Name;…
MS SQL Server 未公开的加密函数有哪些? 以下的文章是对MS SQL Server 未公开的加密函数的具体操作,如果你对其相关的实际操作有兴趣的话,你就可以点击了. MS SQL Server 未公开的加密函数,假如你对MSSQL的用户信息有兴趣了解的话,可能会发现关于master.dbo.sysxlogins里面存放着一些相关的用户口令,但是password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢? 其实只要仔细看看master.dbo.sp_add…
在MS SQL Server 2017有了一个新函数TRIM,整合以前版本LTRIM和RTRIM. 这几个函数都是去除字符串头部后尾部的空格. DECLARE @str NVARCHAR(MAX) = N' Insus.NET ' SELECT @str AS [str], [dbo].[svf_StringLength](@str) AS [length] SELECT LTRIM(@str) AS [str], [dbo].[svf_StringLength](LTRIM(@str)) AS…
SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) (2)参数:datepart 规定应向日期的哪一部分返回新值的参数.下表列出了 Microsoft  SQL Server识别的日期部分和缩写. 日期部分     缩写 Year         yy, yyyy quarter      qq, q Month       mm, m dayof…
MS SQL SERVER 中的系统表 序号 名称 说明 备注 1 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.   2 syscomments 包含每个视图.规则.默认值.触发器.CHECK 约束.DEFAULT 约束和存储过程的项.text 列包含原始 SQL 定义语句,其最大大小限制为 4 MB. 不应删除 syscomments 中的项.如果手工删除或修改 syscomments 中的项,则对应的存储过程将不能正常工作.若要隐藏或加密存储过…
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引用的文件名 数据库必须唯一 FILENAME='D:\mydb\TDB_dat.mdf',//操作系统在创建文件时使用的路径和文件名 SIZE=10,//指定数据文件或日志文件的初始大小(默认单位为MB) MAXSIZE=50,// 指定数据文件或日志文件的最大大小,如果没有指定大小那么文件将磁盘曾…
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getdate返回的是datetime类型的数据,而sysdatetime返回的是datetime2数据类型的数据.后者精度更高. 拆分显示日期和时间 select day(getdate()) as 日期,month(getdate()) as 月份,year(getdate()) as 年份 三个函数d…
以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from student 2. lower().upper():字符串转换为大.小写 lower() 用来将一个字符串转换为小写,upper() 用来将一个字符串转换为大写 select lower('I AM A STUDENT !') select upper('i am a student !') 3.…
在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交入库的,至于实现该需求我大多采用两种方式:一种方式是代码先实现一条人员记录的添加或修改时,在数据访问层针对人员还好记录的循环添加或修改:还有一种通过存储封装,代码将选中的人员爱好记录标识键以分隔符连接起来作为字符串集,在存储过程中在分割字符串集,实现批量插入(注意:所举例说明有可能不完全妥当,如果博…
iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pre)还是后生成(post). Oracle设置 <!-- Oracle SEQUENCE --> <insert id="insertProduct-ORACLE" parameterClass="com.domain.Product"> <selectKey resultClass="int" ke…
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getdate返回的是datetime类型的数据,而sysdatetime返回的是datetime2数据类型的数据.后者精度更高. 拆分显示日期和时间 select day(getdate()) as 日期,month(getdate()) as 月份,year(getdate()) as 年份 三个函数d…
原文:深入浅出SQL Server 2008 分区函数和分区表 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小.维护任务(例如,重新生成索引或备份表)也可以更快的运行. 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区.如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表间连接的查询时,多个磁盘头同时读取数据.可以使用SQL Ser…
MS SQL SERVER 2008 使用OBJECT_ID判断临时表是否存在 我们在写sql 脚本的时候经常会用到临时表,有时间也需要根据临时表是否存在做一些逻辑处理.还好sql server已经集成了一个Object_ID的函数,能够判断是否创建了临时表.使用挺方便的.   OBJECT_ID 参数: 'object_name' 要使用的对象.object_name 的数据类型为 varchar 或 nvarchar.如果 object_name 的数据类型为 varchar,则它将隐式 转…
sql server 字符串替换函数REPLACE函数的使用 <pre name="code" class="sql">--参数1:需要替换字符的母字符 参数2.3:参数1中含有的参数2替换成参数3 update basis_ware set NAME=REPLACE(参数1,参数2,参数3)…
微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MDF文件里,LDF文件是存放MS SQL Server操作过程中的日志记录. MDF文件必读附加到MS SQL Server数据库环境后,才能正常读取其中的数据.当由于某种原因数据库附加不上,MDF数据库文件的内容就没办法读取,修复的方法有两种: 1. 使用MS SQL Server环境进行修复,先以…
首先先来说下使用微软自己开发的架包进行ms sql server数据库的连接时,sql 2000与sql 2005的连接方式略有不同: 1.首先驱动不一样,sql 2000的连接驱动包有三个,分别是:msbase.jar.mssqlserver.jar.msutil.jar: 而sql 2005的连接驱动包只有一个为:sqljdbc.jar: 2.由于连接的驱动不一样,自然而然连接的方式也是不一样的: sql 2000: Class.forName("com.microsoft.jdbc.sql…
MS SQL Server 数据库连接字符串详解 原地址:http://blog.csdn.net/jhhja/article/details/6096565 问题 : 超时时间已到.在从池中获取连接之前超时时间已过.出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小. 解决办法 1. 在代码里面 , 把未关闭的连接关闭 2. 扩大共享池 , 方法如下 : 解决方法可以是修改连接池的连接生存期 , 因为默认值是 60 秒 , 即连接从应用程序被释放后可以在池中保存的时间. 具体操作步骤…
[摘要]本文详细介绍SQL Server 2008 分区函数和分区表,包括查询某个分区.归档数据.添加分区.删除分区等内容. 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门数据的查询就可以更快的运行,基本原理就是,因为要扫描的数据变的更小.维护任务(例如,重新生成索引或备份表)也可以更快的运行. 我们可以再不通过将表物理放置在多个磁盘驱动器上来拆分表的情况下获取分区.如果将某个表放置在一个物理驱动器上,将相关表放置在另一个驱动器上,则可以提高查询性能,因为当运行涉及表…
Orcal 的 nvl函数 NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值,Expr1,Expr2都为NULL则返回NULL NVL2(Expr1,Expr2,Expr3)如果Expr1为NULL,返回Expr2的值,否则返回Expr3的值 NULLIF(Expr1,Expr2)如果Expr1和Expr2的值相等,返回NULL,否则返回Expr1的值 Coalesce(expr1, expr2, expr3….. exprn) 表示可以指定多…
[摘 要]本文主要是对MS SQL Server数据库查询优化技巧进行了说明和分析,对索引使用.查询条件以及数据表的设计等进行了阐述.中国论文网 http://www.xzbu.com/2/view-3479336.htm [关键词]数据库:查询:优化技巧 一.建立索引能够提高查询效率 在应用数据库的过程当中是否应用索引查询是一个具有争议性的话题,这主要是因为对数据库某列添加索引以后,在利用该索引对整个数据库进行查询的时候就只会在索引范围之内进行扫描,而不利用该索引对整个数据库进行查询时所进行的…
大约2年前,写过一篇<字符串中去除多余的空格保留一个(C#)>https://www.cnblogs.com/insus/p/7954151.html 今天,Insus.NET使用MS SQL Server来实现相同的功能.现Insus.NET已经把它写成一个自定义函数. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Ins…
执行下面代码,将获取ms sql server对象类型以及其说明 IF OBJECT_ID('tempdb.dbo.#type') IS NOT NULL DROP TABLE #type CREATE TABLE #type ( ), ) ) INSERT INTO #type ([type],[desc]) VALUES (N'AF',N'聚合函数(CLR)'), (N'C',N'CHECK 约束'), (N'D',N'DEFAULT(约束或独立)'), (N'F',N'FOREIGN KE…
Oracle中INSTR函数与SQL Server中CHARINDEX函数 1.ORACLE中的INSTR INSTR函数格式:INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) 说明:返回从 ‘起始位置’ 开始查找 ‘源字符串’ 中与 ‘目标字符串’ 第 ‘匹配序号’ 次匹配的位置 例如:返回从第4位字符开始SQL_Server_2008字符串中第2次出现字符串er的位置 select INSTR('SQL_Server_2008','er',4,2 ) as result from…
在日常工作中,经常需要连接到远程的MS SQL Server数据库中.当然也经常会出现下面的连接错误. 解决方法: 1. 设置数据库允许远程连接,数据库实例名-->右键--->属性---Connections---->勾选 Allow remote connections to this server. 2. 开启TCP/IP协议: Sql Server Configuration Manager---> Protocols for SQLEXPRESS ---> TCP/I…
Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) http://blog.csdn.net/helonsy/article/details/7207497 Linux下使用FreeTDS访问MS SQL Server 2005数据库(包含C测试源码) (1)安装freeTDS FreeTDS为Linux系统提供了TDS协议的开源客户端.由于MS SQL和Sybase使用的恰是TDS协议,所以在Linux中可以用FreeTDS连接MS SQL. 官网:…