二进制数据包的解析一般是借助C#等语言,在通讯程序中解析后形成字段,再统一单笔或者批量(表类型参数)提交至数据库,在通讯程序中,存在BINARY到struct再到table的转换. 现借助CLR提供基本的INT2HEX(小端)等函数,在SQL中直接解析数据包.   基本函数 [Microsoft.SqlServer.Server.SqlFunction(Name = "Time2UTCBin")] public static SqlBinary Time2UTCBin(DateTi…
--sql中根据逗号分隔,查出多行数据 select       a.DiscussID,b.LocationID  from       (select DiscussID,LocationID=convert(xml,' <root> <v>'+replace(LocationID,',',' </v> <v>')+' </v> </root>') from SG_Discuss)a  outer apply      (sele…
--sql中的 where .group by 和 having 用法解析 --如果要用到group by 一般用到的就是“每这个字” 例如说明现在有一个这样的表:每个部门有多少人 就要用到分组的技术 select DepartmentID as '部门名称',COUNT(*) as '个数' from BasicDepartment group by DepartmentID --这个就是使用了group by +字段 进行了分组,其中我们就可以理解为我们按照了部门的名称ID --Depart…
oracle 数据库可以正常连接,表数据也可以正常读取, 但在程序中相同的位置,有时会报错,有时不会报错,有的电脑会报错,有的不会 报错内容为 ORA-01406:提取的列值被截断 查了网上提供的一些解决办法,都不奏效 最终解决办法: app.config 文件的 connectionString  添加如下两个字段属性可解决…
下面这篇中,已经有准备一些数据: <MS SQL server对象类型type>https://www.cnblogs.com/insus/p/10903916.html 为前端服务,直接在SQL把查询结果转换为JSON格式数据: 实现这样的功能,可以使用SQL的FOR JSON PATH: SELECT [type],[desc] FROM #type FOR JSON PATH GO Source Code 给查询语句加上条件和FOR JSON PATH加上ROOT标记. SELECT […
根据行号自动把当前行号插入到某列中 实现排序 update tempTable set DisplayOrder = right( CAST(rownum as NVARCHAR),5) from(        select DisplayOrder, ROW_NUMBER() over(order by name) rownum from Products    ) tempTableselect * from Products a DisplayOrder 列名 Products 表名…
ET IDENTITY_INSERT 允许将显式值插入表的标识列中. 语法 SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF } SET IDENTITY_INSERT dbo.UserDB ON ,'NULL','www.51laugh.cn') PRINT 'OK思密达' SET IDENTITY_INSERT dbo.UserDB OFF…
假设表table1,列a,表table2,列bselect a from table1where a not in(select b from table2)…
相当于取别名 这里结合一下无列名注入的知识点: 这种方法在第十届SWPUCTF的web1——广告招租里考到了:…
原文 SQL中采用Newtonsoft.Json处理json字符串 使用环境: SQL Server2005; VS2010; 关于SQL中部署CLR程序集的方法,网上一搜一大把,需要了解的自行查阅,呵呵. SQL中处理字符串实在是太弱了,连数组都不能处理,就更别说json字符串了,好吧,它不能处理,我就给它加个处理程序集(还好2005已经加入了这个功能). 首先对于CLR我也不太懂,而且到现在我也没搞懂怎么把一个dll注册到SQL,俺是直接用VS2010新建一个sql sever的数据库项目,…