-
SQL截取字符串函数了解
所属栏目:[MsSql教程] 日期:2021-12-24 热度:131
A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1=http://www.xrss.cn Select Left(@S1,4) ------------------------------------ 显示结果: http B.截取从字符串右边开始N个字符(例如取字符) Declare @S1 varchar(100) Select @S1=http:/[详细]
-
SqlServer中的日期与时间代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:193
一、Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,2004-10-15) --返回:2004-10-17 00:00:00.000 3. datediff 返回[详细]
-
多表关联同时更新多条不同的记录方法说明
所属栏目:[MsSql教程] 日期:2021-12-24 热度:115
以下为测试例子。 1.首先创建两张临时表并录入测试数据: 复制代码 代码如下: create table #temptest1 ( id int, name1 varchar(50), age int ) create table #temptest2 ( id int, name1 varchar(50), age int ) 查询出此时的表数据为: #temptest1 #tempte[详细]
-
在sql Server自定义一个用户定义星期代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:103
文件:.wmv;大小:19,535KB;长度:00:26:39。 下载地址:SqlFunction_udf_Week.rar 以下内容于20120105更新: 2012年刚到,开发的软件使用这个函数发现bug。2012年第一周应该是2012-01-01至2012-01-07,但此函数却把2012-01-08至2012-01-14当作第一周。 就[详细]
-
mssql server 数据库附加不上解决办法分享
所属栏目:[MsSql教程] 日期:2021-12-24 热度:135
在QA里执行sp_attach_db或者sp_attach_single_file_db,出现提示:错误1813:未能打开新数据库dbname,create database 将终止。设备激活错误。物理文件名d:sql servermssqldatadbname _log.ldf可能有误! 按下面的步骤处理: 1.新建一个同名的数据库 2.再[详细]
-
sql 常用技巧整理
所属栏目:[MsSql教程] 日期:2021-12-24 热度:135
--语 句 功 能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 --数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE[详细]
-
SQL Server Table中XML列的操作代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:78
复制代码 代码如下: --创建测试表 DECLARE @Users TABLE ( ID INT IDENTITY(1,1), UserInfo XML ) ---插入测试数据 DECLARE @xml XML SET @xml= root user userid1/userid userNametest1/userName /user /root INSERT INTO @Users(UserInfo)VALUES(@xml) --插[详细]
-
sqlserver 中时间为空的处理小结
所属栏目:[MsSql教程] 日期:2021-12-24 热度:52
现将几种主要情况进行小结: 一、如何输入NULL值 如果不输入null值,当时间为空时,会默认写入1900-01-01,在业务处理时很麻烦。 ctrl+0即可输入NULL值。 二、如何在sql语句中判断为NULL的时间字段 假设表为:TestTable SN DateTime1 DateTime2 1 2011-10-24[详细]
-
sql数据库批量处理脚本
所属栏目:[MsSql教程] 日期:2021-12-24 热度:85
复制代码 代码如下: DECLARE @T varchar(255), @C varchar(255) DECLARE Table_Cursor CURSOR FOR Select a.name,b.name from sysobjects a, syscolumns b where a.id=b.id and a.xtype=u and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) OPEN[详细]
-
通过分析SQL语句的执行计划优化SQL
所属栏目:[MsSql教程] 日期:2021-12-24 热度:193
如何干预执行计划 - - 使用hints提示 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。此时就需要DBA进行人为的干预,告诉优化器使用[详细]
-
sqlserver 存储过程动态参数调用实现代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:118
复制代码 代码如下: --创建测试表 CREATE TABLE [dbo].[Student]( [ID] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY, [Name] [nvarchar](20) NOT NULL DEFAULT (), [Age] [int] NOT NULL DEFAULT (0), [Sex] [bit] NOT NULL DEFAULT (0), [Address] [nvarchar[详细]
-
sqlserver自动增长列引起的问题解决方法
所属栏目:[MsSql教程] 日期:2021-12-24 热度:84
有两个结构完全相同的表,由其中一个表插入另一个表中指定条件的数据,报如下错误: 仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表*中的标识列指定显式值。 在网上找到了解决方案,亲自试过,可以解决。 方法: 复制代码 代码如下: SET IDENTITY_[详细]
-
小议sqlserver数据库主键选取策略
所属栏目:[MsSql教程] 日期:2021-12-24 热度:186
因为主键可以唯一标识某一行记录,所以可以确保执行数据更新、删除的时候不会出现张冠李戴的错误。当然,其它字段可以辅助我们在执行这些操作时消除共享冲突,不过就不在这里讨论了。主键除了上述作用外,常常与外键构成参照完整性约束,防止出现数据不一致。[详细]
-
SQL语句 一个简单的字符串分割函数
所属栏目:[MsSql教程] 日期:2021-12-24 热度:63
复制代码 代码如下: CREATE FUNCTION dbo.f_splitstr( @str varchar(8000) )RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000)) AS BEGIN /* Function body */ DECLARE @pos int SET @pos = CHARINDEX(,, @str) WHILE @pos 0 BEGIN INSERT @r(val[详细]
-
根据表名和索引获取需要的列名的存储步骤
所属栏目:[MsSql教程] 日期:2021-12-24 热度:112
复制代码 代码如下: create proc p_sword_getblcolumn ( @tblName varchar(200), @fromIndex int, @toIndex int, @columnName varchar(3000) output ) as begin declare @tempColumn varchar(3000) declare @errMsg varchar(200) declare @i int set @i=1 set[详细]
-
sql ntext数据类型字符替换实现操作
所属栏目:[MsSql教程] 日期:2021-12-24 热度:168
复制代码 代码如下: ---ntext数据类型字符替换 create table tt ( sid INT IDENTITY(1,1), cont ntext ) go insert into tt(cont) values(Nfd sad fdsa 涂聚文工团 缔友计算机信息技术有限公司 可能性 桔柑 ) go update tt set cont=fd sad fdsa 涂聚文工团[详细]
-
SQL集合函数中case when then 使用技术
所属栏目:[MsSql教程] 日期:2021-12-24 热度:81
那么在集合函数中它有什么用呢 ? 假设数据库有一张表名为student的表。 如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下结果表 答案是:select sex ,count ( case province when 广东省 then 广东省[详细]
-
mssql中得到指定日期所在月份的第一天的代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:60
获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可。 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ) RETURNS DATETIME AS BEGIN RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) A[详细]
-
sqlserver中如何寻找出连续日期记录的代码
所属栏目:[MsSql教程] 日期:2021-12-24 热度:94
有在论坛上看到一帖,《请教查询出连续日期记录的方法》,截图如下: Insus.NET尝试写了程序并做了测试,可以得到预期的结果,SQL代码可参考和学习之用。 复制代码 代码如下: --创建一个临时表,将会存储连续日期的记录 CREATE TABLE #temp (IDD VARCHAR(10),[详细]
-
SQLserver 数据库危险存储过程删除与恢复措施
所属栏目:[MsSql教程] 日期:2021-12-24 热度:152
今天为了实现SQLServer/ target=_blanksqlserver的复制功能,因为以前删除了很多的sqlserver的一些会导致不安全因素的扩展,导致很多功能无法用,没有办法需要重新的恢复扩展。 曾经遇过,差点抓狂,有装MSSQL的朋友,赶紧试一下,删除以下的组件.当然,前提是你要[详细]
-
insert select与select into 的用法使用步骤
所属栏目:[MsSql教程] 日期:2021-12-24 热度:181
insert into(列名) select 列名 from 表名 where 条件 --不创建表,只复制表数据 select 列名 into 表名(这个表名是不存在的) from 表名 where 条件,--创建一张新表,只复制选择的列名字段数据 Insert是T-sql中常用语句,Insert INTO table(field1,field2,[详细]
-
sqlserver合并DataTable并排除重复数据的通用方法说明
所属栏目:[MsSql教程] 日期:2021-12-24 热度:140
代码如下: 复制代码 代码如下: ///summary /// 将两个列不同的DataTable合并成一个新的DataTable ////summary ///param源表/param ///param需要合并的表/param ///param需要排重列表(为空不排重)/param ///param合并后Table的最大行数/param ///returns合[详细]
-
分析SQL Server删除重复行的6个方法
所属栏目:[MsSql教程] 日期:2021-12-24 热度:195
1.如果有ID字段,就是具有唯一性的字段 复制代码 代码如下: delect table where id not in ( select max(id) from table group by col1,col2,col3... ) group by 子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相[详细]
-
SQL对时间处理的语句分析
所属栏目:[MsSql教程] 日期:2021-12-24 热度:81
复制代码 代码如下: --获取当前时间 Select getdate() --获取当前年月日 YY代表年,MM代表月,DD代表日,hh代表时,ss代表秒 /* year yy 1753--9999 quarter qq 1--4 month mm 1--12 day of year dy 1--366 day dd 1--31 week wk 1--53 weekday dw 1--7(Sunday--S[详细]
-
SQL Server Bulk Insert 只需要部分字段时的技巧
所属栏目:[MsSql教程] 日期:2021-12-24 热度:59
根据一般做法的话,导出部分字段时没有办法生成格式化XML文件,所以导入时就没有办法格式化导入数据。 我想到两点,1.手工修改格式化XML文件,2.创造一个能生成格式化XML文件的中间对象。 在MSDN中寻找方法时,突然想到可以使用视图来做中间对象,于是就搭一[详细]