SQL
qubernet
这个作者很懒,什么都没留下…
展开
-
SqlServer中DateTime类型需要注意的地方
在SqlServer中,关于DateTime类型,如果业务中有比较精确的时间查询,我们需要特别注意该类型的字段,原因是SqlServer会自动将毫秒按照几个规则将最后一位的毫秒数圆整为指定的值,具体如下所示: 所以,在查询某一天数据的时候(比如查询2022年6月17号这一天的数据),结束条件可以使用 ...原创 2022-06-17 14:24:06 · 3733 阅读 · 1 评论 -
MySql中创建用户以及设置其操作权限
以下设置针对MySql8+版本进行测试,低版本暂无测试创建用户 //创建用户test_user,%代表任何IP都能连接到MySql服务器create user 'test_user'@'%' identified by '~Scyj&Cdkx';//刷新权限flush privileges; 修改密码 //修改用户test_user密码alter user 'test_user'@'%' identified by '新密码';//刷新权限flus...原创 2021-08-10 15:44:43 · 719 阅读 · 0 评论 -
SqlServer中获取字符串中的数字部分
具体SQL如下所示:--获取字符串中的数字部分CREATE FUNCTION [dbo].[f_GetNumStr] ( @Str NVARCHAR(MAX)) RETURNS NVARCHAR(MAX) AS BEGIN WHILE PATINDEX('%[^0-9]%',@Str)>0 BEGIN --去掉非数字的字符 SET @Str=STUFF(@Str,PATINDEX('%[^0-9]%',@Str),1,原创 2021-07-13 10:26:57 · 2618 阅读 · 0 评论 -
MongoDB的查询语句示例说明
假如我们在MongoDB服务器中有一个数据库,该数据中有一个数据集合(表)UserModel,存储的数据以及字段如下图所示:查询集合(表)UserModel中的所有数据: db.UserModel.find() ...原创 2021-01-21 17:04:12 · 426 阅读 · 0 评论 -
SqlServer中查询某数据库所有表及其数据总条数和占用空间
查询某数据库中的所有数据表 SELECT name 数据表FROM sysobjectsWHERE xtype='u'ORDER BY name 查询某数据库中的所有数据表及其数据总条数 SELECT a.name 数据表, b.rows 数据总条数FROM sysobjects AS a INNER JOIN sysindexes AS b ON a.id = b.idWHERE ( a.type = 'u' ) .原创 2020-08-05 09:44:38 · 3044 阅读 · 0 评论 -
SqlServer性能检测之Sql语句排查
很多时候,我们在用SQL语句查询数据时,难免会漏掉对SQL语句性能的考虑,所以有时就会造成SqlServer服务占用过高的问题,为了大致排查是哪些SQL语句造成的问题,我们可以通过如下SQL查询出最近所有耗时最大的SQL语句,具体查询SQL语句如下所示:SELECT s2.dbid, s1.sql_handle, ( SELECT TOP 1 SUBSTRING( s2.text, ...原创 2020-07-16 10:00:17 · 849 阅读 · 0 评论 -
SqlServer批量插入测试数据
我们在开发中,有时候难免会需要大批量的数据进行一些测试,这时候我们可能首先想到的就是使用Sql语句进行循环添加数据到测试库中,但是这样效率相对来说就会慢很多。于是我们可以批量将要添加的数据先存储到临时表中,然后再分批次进行批量插入。 如下所示,我们将99999999条数据分每100000条数据进行一次插入操作(添加到测试表V_DemoTab中),具体如下所示:...原创 2019-01-11 10:31:29 · 2109 阅读 · 0 评论 -
SqlServer中通过Sql语句批量删除数据表
业务描述: 我们在实际生产中,有时候可能会需要批量删除数据库中的某些数据表(比如:在导数据时,需要将数据库A中的某些表数据导入到数据库B中,导入的过程中也需要将数据库A的某些表结构也需要导过去,当数据导入成功后发现并没有导入数据库B,而是导入了数据库C,此时可能就需要批量将这些表给清除掉),具体SQL实现如下所示:DECLARE @TmpTb TABLE( TbNam...原创 2019-08-23 09:11:51 · 6544 阅读 · 0 评论 -
解决SqlServer添加维护计划时出现“"代理XP"组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用……”
我们可能在添加SqlServer维护计划时遇到“"代理XP"组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用……”此类问题,如下图所示: 解决办法:打开SqlServer配置管理器,找到“SQL Server 代理(MSSQLSERVER)”服务,然后启动该服务即可,如下图所示:...原创 2019-09-23 17:16:12 · 6566 阅读 · 1 评论 -
SqlServer支持多表关联的分页存储过程
具体代码如下所示:CREATE PROCEDURE p_GetPager @TotalCount INT OUTPUT, --总记录数 @TotalPage INT OUTPUT, --总页数 @Table NVARCHAR(1000), --表名称,可多表连接,如:TbA a LEFT JOIN TbB b ON a.User=b.Use...原创 2018-09-20 16:52:57 · 1248 阅读 · 0 评论 -
SqlServer获取数据表字段自定义编号
存储过程如下所示:/******************************************* * 获取表某字段的自定义编号 * 调用方法:Exec p_GetCustomCode 'BAS_PriceArt','ArtCode','RSK',4,0,'' * 返回结果:RSK0001***********************************...原创 2018-10-01 10:11:41 · 774 阅读 · 0 评论 -
SqlServer中将某字符串按照特定的字符分隔并返回临时表
具体代码如下所示:创建一个函数:/******************************将字符串按照某字符(逗号)分隔查询返回为一个临时表******************************/CREATE FUNCTION f_SplitStrToTb( @totaltr NVARCHAR(MAX),--需要拆分的字符串(如:1,2,3,4) @to...原创 2018-10-27 11:49:21 · 1208 阅读 · 0 评论 -
Sql语句查询某列A相同值的另一列B最大值的数据
问题描述: 有一张表File_Info,有若干字段,其中有2个字段FileName(文件名称)和FileVer(文件版本号)。 现在的表数据是这样的,FileName字段的名称可能有一样的(重复的),但是重复的时候,它们对应的FileVer不一样。查询结果: 要求查询出FileName字段重复时,FileVer值最大的所有数据。SQL语句如下:1 SEL...原创 2016-08-26 14:34:00 · 5634 阅读 · 0 评论 -
使用存储过程备份SqlServer数据库
存储过程代码如下所示:CREATE PROCEDURE [dbo].[SP_BackupDB]( @BackPath NVARCHAR(200), --备份路径,如:D:\Backup\ @BackDbName NVARCHAR(50), --需要备份的数据库名称 @BackName NVAR...原创 2016-12-28 14:23:00 · 585 阅读 · 0 评论 -
SqlServer查询出数据库中所有的表及其字段属性
代码如下所示:/*********************************SqlServer查询出数据库中所有的表及其字段属性*********************************/SELECT ( CASE WHEN a.colorder = 1 THEN d.name ELSE '' END ) AS 表名 ,...原创 2018-05-18 11:46:00 · 4231 阅读 · 2 评论 -
SqlServer批量更新两关联表的数据
Sql语句如下所示: 1 --方式1 2 UPDATE a SET WtNo=b.NO 3 from WT_Task a 4 INNER JOIN WT_BasicInformation b ON a.WtId=b.ID; 5 6 --方式2 7 UPDATE a SET a.WtNo=b.NO 8 FROM WT_Task a,WT_BasicInformation ...原创 2016-05-20 14:01:00 · 364 阅读 · 0 评论 -
SqlServer查询表中某列相同值的最近记录
语句如下:1 --查询表中某列相同值的最近记录2 SELECT * FROM TbName a 3 WHERE NOT EXISTS4 (5 SELECT 1 FROM TbName WHERE ColumnName=a.ColumnName and CreateTime>a.CreateTime6 )...原创 2016-05-26 09:22:00 · 665 阅读 · 0 评论 -
SqlServer常用对象查询
--查询用户表对象信息selectTab.Nameas[表名],Tab.create_dateas[创建时间],Tab.modify_dateas[最后修改时间], Col.Nameas[列名],Type.nameas[数据类型],Col.max_lengthas[字段长度], CASEWHENpk.is_primary_key=1THEN'Y'E...原创 2013-08-08 08:46:44 · 453 阅读 · 0 评论 -
SqlServer格式化时间
/********************************************SqlServer格式化时间*******************************************/1取值后格式化 {0:d}小型:如-5-6 {0:D}大型:如年月日 {0:f}完整型2当前时间获取 DateTime.Now.ToShortDateString3取值中...原创 2013-09-04 12:48:21 · 410 阅读 · 0 评论 -
SqlServer语句中替换like的另一种写法
--SqlServer语句中替换like的另一种写法--like写法:Select*FromBIS_StudentaWherea.PhoneLike'%77777%'--Charindex写法Select*FromBIS_StudentaWhereCharindex('77777',a.Phone)>0运行结果如下图所示:...原创 2013-10-02 22:31:25 · 1675 阅读 · 0 评论 -
SqlServer递归查询树形结果数据
SQL语法:WithtempAs( Select*FromSYS_Menua UnionAll Selectb.*FromSYS_Menub innerJointemptOnb.ParentID=t.ID)Select*Fromtemp;查询结果如下图:原创 2013-10-11 21:06:28 · 355 阅读 · 0 评论 -
SqlServer2008R2附加数据库错误5123
问题描述: 今天在用自己电脑附加数据库的时候居然报错了,提示的错误代码为5123,以前从未遇到过这种情况,百度了很多内容最后终于成功了,便记录下来了供大家参考:附加错误环境: 系统:win8.1 64位系统; 数据库版本:SqlServer2008R2;错误原型图如下所示: 错误原因: 附加的数据库文件没有Authenticated Users的完全控制权限。修正方法: 右键数据库文件,选择“...原创 2013-11-23 01:09:51 · 1166 阅读 · 0 评论 -
关于ODBC使用SQL语句和调用存储过程传递参数的使用方式说明
说明:使用ODBC方式其实和SqlClient方式差不多,主要区别在于传递参数的时候,使用?代替SqlClient中的@XXX。实例1:简单Sql语句-查询,如下图所示:实例2:简单Sql语句-添加,如下图所示:实例3:简单Sql语句-修改,如下图所示:实例4:简单Sql语句-删除,如下图所示:实例5:存储过程-查询,如下图所示:注意:实例5中p_GetAllProductByParam...原创 2015-03-25 17:19:00 · 2133 阅读 · 0 评论 -
SqlServer智能提示工具
1、SQL Assistant; 2、SQL Prompt;原创 2013-07-21 00:45:46 · 998 阅读 · 0 评论 -
SqlServer 2008R2修改表结构提示“不允许保存更改”解决方案
按照以下操作即可:1、2、原创 2013-07-06 09:30:58 · 393 阅读 · 0 评论 -
SqlServer得到生日(闰月考虑)
/**Sql得到生日(闰月考虑)*@birthday时间*@flag1:返回2月28日,0:返回3月1日*调用:Selectdbo.GetBirthday(birthday,0)FromofUserouWhereuserId='48e541e2-7883-416a-b4ee-d78ddde4d6b8'*/CreateFunctionGetBirthday( @...原创 2013-06-27 17:15:54 · 386 阅读 · 0 评论 -
SqlServer实现split功能
/*函数名称:f_SplitToNvarchar作用:实现split功能的函数更新记录:设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里*/CREATEFUNCTION[dbo].[f_SplitToNvarchar]( @SourceSqlNVARCHAR(MAX),--源分隔字符串 @StrSeprate...原创 2013-06-06 12:56:16 · 415 阅读 · 0 评论 -
连接SQL SERVER的时候登录名如何清除
连接SQL SERVER的时候登录名如何清除先停止MsSql Server服务①SQL Server 2008:C:\Documents and Settings\Administrator\Application Data\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin找到该文件,删除。②SQL Server 20...原创 2013-05-13 08:50:59 · 409 阅读 · 0 评论 -
SqlServer中保留小数的实现
方式一、SELECT55/(33+0.0);方式二、SELECTCAST(55*1.0/33ASDECIMAL(10,4));原创 2013-04-01 16:55:53 · 312 阅读 · 0 评论 -
SqlServer将特定字符串拆分并进行插入操作
--循环执行添加操作declare@idxasintWhileLen(@UserList)>0BeginSet@idx=Charindex(',',@UserList);--只有一条数据If@idx=0andLen(@UserList)>0 Begin InsertIntoBIS_MsgCenterInfo(ID,Ms...原创 2013-07-25 16:44:45 · 332 阅读 · 0 评论 -
SqlServer2005海量数据存储过程分页(上)
/************************************************************ *对数据进行了分处理使查询前半部分数据与查询后半部分数据性能相同 ************************************************************/ ALTERPROCEDUREProc_QB_Pager( ...原创 2013-01-15 15:48:26 · 217 阅读 · 0 评论 -
SqlServer2005海量数据存储过程分页(下)
+''+@ID+'from'+@tblName +'orderby'+@fldSort+''+@strFSortType+ ')ASTBMinID)' +'orderby...原创 2013-01-15 15:49:23 · 148 阅读 · 0 评论 -
SqlServer中检查数据表是否存在
SELECTCOUNT(*)TCount FROMSYSOBJECTS WHEREXTYPE='U' ANDNAME='数据表名称' 返回结果: 1:数据表存在; 0:数据表不存在。...原创 2013-01-18 16:02:19 · 216 阅读 · 0 评论 -
Sql语句对数据库和表的简单操作
--向表TB_A中增加一列Address ALTERTABLETB_AADDAddressNVARCHAR(4000); --修改TB_A中的列Address类型为INT ALTERTABLETB_AALTERCOLUMNADDRESSINT; --删除TB_A中的列Address ALTERTABLETB_ADROPCOLUMNADDRESS...原创 2013-01-24 11:30:21 · 176 阅读 · 0 评论 -
SqlServer中Group By高级使用--Inner Join分组统计
当我们在使用GroupBy进行分组统计的时候,往往都会根据一个字段进行分组统计(并且这个字段是关联在这张表中的),这应该好实现。 但是当这张数据表中的某些数据要根据列一张表的某个字段进行分组统计的时候,往往会借助InnerJoin来实现,以下图为例: 现在要达到的效果是:表2中的数据要根据表1来进行分组统计,在统计表2中的数据时,表2中的ReadDate要大于或者等于表1...原创 2012-06-29 17:59:47 · 1476 阅读 · 0 评论 -
SqlServer中截取(获取)字符串中特定字符分割的每个元素
--执行结果: SELECTCASELEN(SUBSTRING(Request_AllAddress,0,CHARINDEX(';',Request_AllAddress))) WHEN0THENREQUEST_ADDRESS ELSESUBSTRING(Request_AllAddress,0,CHARINDEX(';',Request_AllAdd...原创 2012-09-24 15:14:35 · 2495 阅读 · 0 评论 -
SqlServer2005日志清理
SqlServer2005日志清理 方法一: 1、在查询分析其中输入如下代码并执行: DUMPTRANSACTIONDB_SaplingWITHNO_LOG,其中的DB_Sapling为数据库名称; 2、在数据库管理工具中右键点击要清理的数据库,如图所示选择文件: 接下来如下图设置即可: ...原创 2012-04-26 17:43:30 · 283 阅读 · 0 评论 -
SqlServer复制表结构:从另一张表中获取某些字段和类型并添加到一张已经存在的表中...
/* *赋值表结构:从另一张表中获取某些字段和类型并添加到一张已经存在的表中 */ /* t1: idnamecs t2: aabb 向t1表中增加字段,这两字段从t2表中获取,即:将t2表中的所有字段(包括类型)添加到t1表中 */ SELECTaa,bbINTOt3FROMt2WHERE1=2 SELECT*I...原创 2012-04-27 14:50:05 · 337 阅读 · 0 评论 -
SqlServer将数据表中的数据生成添加语句
/************************************************************ *将数据表中的数据生成添加语句 *调用示例: EXECCom_InsertData'TableName' *其中的TableName为表名 *************************************************...原创 2012-05-23 12:49:17 · 322 阅读 · 0 评论 -
SqlServer修改sa的密码
--SqlServer修改sa的密码: ALTER LOGIN [sa] WITH PASSWORD = N'NewPassword' OLD_PASSWORD = N'OldPassword' ALTER LOGIN [sa] WITH PASSWORD = N'NewPassword'--也可以不写旧密码原创 2012-06-07 09:22:05 · 254 阅读 · 0 评论