随笔分类 - Temporary Tables
摘要:今天是2025年元旦,祝大家新年快乐!工作顺利,写代码如意随行......节日,没有出去溜达,依然在宿舍写程序,主要写的是SQL代码...下面分享在写代码时,其中一些细节与想法,如下一张表, 前端用户将会传入FileType字段一个或多个值给SQL去过渡上面这表的数据。如,Png,Jpeg,Gif,
阅读全文
摘要:原问题如下: Insus.NET的问题解决,分2步,1,创建一个辅助表,2,合并数据。 程式码搜寻出来如图: IF OBJECT_ID(N'TEMPDB.DBO.#search_data') IS NOT NULL DROP TABLE #search_data GO CREATE TABLE #s
阅读全文
摘要:在ms sql server实现动态呈现列的方法很多。下面Insus.NET解决也算是另外一种参考。 如: 准备实现功能的数据: CREATE TABLE [dbo].[Timing] ([When] NVARCHAR(10) NOT NULL PRIMARY KEY) INSERT INTO [d
阅读全文
摘要:有网友在网上问: 数据如下: 期望得到的结果: 下面是Insus.NET实现方法: 创建一个临时表,将用来存储最终结果: IF OBJECT_ID('tempdb..#TempRpt') IS NOT NULL DROP TABLE #TempRpt CREATE TABLE #TempRpt (
阅读全文
摘要:比如下面一串字符,把连续的数字使用“-”连接起来。 结果要求如下: 解决问题,Insus.NET创建2个自定义函数: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 20
阅读全文
摘要:网上有人问: declare @WH varchar(MAX)set @WH='C1,C2,C3-C9,C20,C22,C30-C35'想要循环截取出含有-的字符串 C3-C9,C30-C35,展开C3-C9,C30-C35,将@WH替换为 'C1,C2,C3,C4,C5,C6,C7,C8,C9,C
阅读全文
摘要:一些字符串是由"-"连接字符连接。 想以这个连接字符"-"对字符串时行截取前后字符。 可以写一个自定义函数: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-0
阅读全文
摘要:在较新版本的SQL中,出现有2个函数,STRING_SPLIT和STRING_AGG,前者是把带有分隔的字符串转换为表,而后者却是把表某一表转换为以某种字符分隔的字符串。 如下面: 把它转存为表: DECLARE @dump_data AS TABLE([value] NVARCHAR(MAX))
阅读全文
摘要:在本篇中,学习与练习SQL知识,程序中提供用户批量上传数据。在上传时也许会有网络中断,上传一部分,再重新上传。这样会有数据重复。 或者是需要对原有数据进行批量修改,删除等,要如何进行。 下面Insus.NET举个简单的例子。 先是在数据库创建一张表,是用来存储用户上传的数据。 CREATE TABL
阅读全文
摘要:先准备一些数据: 创建一张临时表来存储: DECLARE @json_table AS TABLE ( [type] NVARCHAR(MAX), [desc] NVARCHAR(MAX) ) 获取第一层数据: INSERT INTO @json_table ([type],[desc]) SELE
阅读全文
摘要:先参考这篇《获取MS SQL TABLE列名列表》https://www.cnblogs.com/insus/p/4835554.html 现在,把它改写为存储过程,动态获取任一数据表列名或者是临时表的列名。 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON
阅读全文
摘要:参考下面代码,有方法一和方法二,判断临时表是否存在。但是方法一非临时表也可以使用,而方法二,纯判断临时表是否存在。 方法一: DECLARE @TABLE_NAME SYSNAME = '[#table_name]', --传入临时表名 @TABLE_SCHEMA SYSNAME = N'[dbo]
阅读全文
摘要:判断是否为闰年的方法很多,如: 《指定日期,判断其所属年份是否为闰年》 https://www.cnblogs.com/insus/p/10841868.html《C#或VB.NET判断指定的年份是否为闰年》https://www.cnblogs.com/insus/archive/2012/06/
阅读全文
摘要:自定义函数,获取存储过程参数,可以先参考这篇《SQL Server INFORMATION_SCHEMA》https://www.cnblogs.com/insus/archive/2010/12/31/1923047.html SET ANSI_NULLS ON GO SET QUOTED_IDE
阅读全文
摘要:在这篇《前导或后导字符串》https://www.cnblogs.com/insus/p/10842839.html 中。是为字符串使用前导来补充字符串,令其长度一致。 相反,如果我们把带有前导零的字符串,去除这些前导的零。我们又需要怎样处理呢? SET ANSI_NULLS ON GO SET Q
阅读全文
摘要:完成这个要求之前,可以先参考另外一个函数《获取当月的天数列表》https://www.cnblogs.com/insus/p/10837900.html: 然后要知道标题三个节日的常识,母亲节在每年5月份的第二个星期天,父亲节在每年6月份的第三个星期天,而感恩节是在每年的11月份第四个星期的星期四。
阅读全文
摘要:今天是母亲节,它是在每一年的五月份的第二个星期天,而父亲节,是在每一个的六月份的第三个星期天。 把星期天设置为每周的开始,将一周的第一天设置为从 1 到 7 的一个数字。 参考MSDN:https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set
阅读全文
摘要:实现这篇之前,可以先参考这篇《数据表列值转换为逗号分隔字符串》https://www.cnblogs.com/insus/p/10848578.html 上这篇,只是输出一个值,现我们把数据表进行分组。 先把上一篇的源始数据再组织一下: IF OBJECT_ID('tempdb..#tempTabl
阅读全文
摘要:在开发SQL Server语序中,可能需要这样一个要求,把表中某一列的所有值转换为使用逗号分隔的字符串去呈现出来。 举个例子: IF OBJECT_ID('tempdb..#tempTable') IS NOT NULL BEGIN DROP TABLE #tempTable END CREATE
阅读全文