随笔分类 -  SQL Server数据库

摘要:1.原表数据如下: 2.转换后效果: 3.实现代码如下: 1 -- 创建示例表 2 CREATE TABLE #SalesByQuarter ( 3 rowNum INT, 4 Q1 DECIMAL(10, 2), 5 Q2 DECIMAL(10, 2), 6 Q3 DECIMAL(10, 2), 阅读全文
posted @ 2025-03-26 15:30 常威打来福 阅读(78) 评论(0) 推荐(0)
摘要:1 --1.分组排序 2 SELECT *,ROW_NUMBER() OVER(PARTITION BY @fileName,@fileName1 ORDER BY ID DESC) AS rowNum FROM @tableName 3 4 --2.生成序列号 5 SELECT *,ROW_NUM 阅读全文
posted @ 2023-09-20 14:22 常威打来福 阅读(917) 评论(0) 推荐(0)
摘要:方案一:使用openjson函数 PS:使用openjson函数需要目标数据库兼容级别支持(130) 可用以下查询语句查看数据库兼容级别 : SELECT name,compatibility_level FROM sys.databases WHERE name ='数据库名' 修改目标数据库兼容 阅读全文
posted @ 2022-06-10 11:59 常威打来福 阅读(1991) 评论(0) 推荐(0)
摘要:1 --创建临时表模拟数据 2 CREATE TABLE #temp(id int,姓名 VARCHAR(50),兴趣爱好 VARCHAR(500)) 3 4 --插入模拟数据 5 INSERT INTO #temp(id,姓名,兴趣爱好) 6 SELECT 1 AS id ,'张三' AS 姓名, 阅读全文
posted @ 2022-02-24 16:48 常威打来福 阅读(242) 评论(0) 推荐(0)
摘要:1 DECLARE @beginTime DATETIME, @endTime DATETIME 2 SET @beginTime ='2019-03-01' 3 SET @endTime ='2019-12-31 23:59:59' 4 5 --1.生成年份 6 SELECT CONVERT(VA 阅读全文
posted @ 2021-01-12 17:18 常威打来福 阅读(484) 评论(0) 推荐(0)
摘要:IF OBJECT_ID(N'tempdb..#temp', N'U') IS NOT NULL BEGIN DROP TABLE #temp;--临时表删除 END --创建临时表 CREATE TABLE #temp(tmpDate DATE) DECLARE @minDate DATE SET 阅读全文
posted @ 2020-11-24 11:47 常威打来福 阅读(434) 评论(0) 推荐(0)
摘要:1 --方案一 2 SELECT 3 表名 = c.name, 4 索引类型 = CASE a.indid WHEN 1 THEN '聚集索引' ELSE '非聚集索引' END, 5 索引名称 = ISNULL(a.name, '无索引名'), 6 索引字段名 = d.name, 7 索引字段位置 阅读全文
posted @ 2020-07-23 09:46 常威打来福 阅读(483) 评论(0) 推荐(0)
摘要:1.常用的数据库备份表语句 SELECT * INTO tableNameNew FROM tableName 2.动态备份表,且备份表名称后面增加三位随机字符和当前日期 1 DECLARE @bakTbl VARCHAR(MAX) 2 SET @bakTbl = ' 3 DECLARE @bakT 阅读全文
posted @ 2020-05-29 17:19 常威打来福 阅读(511) 评论(0) 推荐(0)
摘要:DECLARE @var VARCHAR(50) SET @var ='116.404556|39.915156' 方式一: SELECT CASE WHEN ISNULL(@var,'') <> '' THEN LEFT(@var,CHARINDEX('|',@var)-1) ELSE '' EN 阅读全文
posted @ 2019-11-08 09:20 常威打来福 阅读(396) 评论(0) 推荐(0)
摘要:语法如下: 两种方式都可以获取到@out返回值 阅读全文
posted @ 2019-10-28 18:51 常威打来福 阅读(4048) 评论(0) 推荐(0)
摘要:1.获取某张表在哪些存储过程中使用到 select distinct object_name(id) from syscomments where id in (select object_id from sys.objects where type ='P') and text like'%tab 阅读全文
posted @ 2019-10-23 17:21 常威打来福 阅读(1036) 评论(0) 推荐(0)
摘要:--模拟数据 SELECT * INTO #temp FROM ( SELECT 1 AS id, 'C101' AS sort UNION ALL SELECT 2 AS id, 'B101' AS sort UNION ALL SELECT 3 AS id, '101' UNION ALL SE 阅读全文
posted @ 2019-08-22 15:48 常威打来福 阅读(950) 评论(0) 推荐(0)
摘要:1.判断索引是否存在 ps:@tableName 表名称, @indexName 索引名 IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID(@tableName, N'U') and NAME=@indexName) BEG 阅读全文
posted @ 2019-08-22 11:45 常威打来福 阅读(6161) 评论(0) 推荐(1)
摘要:把 EXEC @sql改成 EXEC(@sql)即可。 阅读全文
posted @ 2019-07-10 16:22 常威打来福 阅读(249) 评论(0) 推荐(0)
摘要:1.多行转成一行(并以','分开) 表数据如下图: 查询结果如下图: SQL查询脚本: SELECT addPer, house_code = (STUFF((SELECT ',' + house_code FROM my_demo WHERE addPer = T.addPer FOR XML P 阅读全文
posted @ 2019-06-19 19:01 常威打来福 阅读(1141) 评论(0) 推荐(0)
摘要:--日期转换参数,值得收藏select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ', 阅读全文
posted @ 2015-12-09 14:08 常威打来福 阅读(291) 评论(0) 推荐(0)
摘要:1 1.增加单个字段:ALTER TABLE [表名] ADD 字段名 varchar(MAX) NULL 2 例:ALTER TABLE StudentTbl ADD sex varchar(MAX) NULL 3 4 2.增加多个字段:ALTER TABLE [表名] ADD 字段名1 INT 阅读全文
posted @ 2015-11-25 11:04 常威打来福 阅读(4001) 评论(0) 推荐(1)
摘要:select ID, CONVERT(varchar(10),TBName) +','+RoomName+ ',最大人数:'+CONVERT(varchar(10),MAXNum) as ClassRoom from tb_ClassRoom 阅读全文
posted @ 2015-09-08 15:13 常威打来福 阅读(191) 评论(0) 推荐(0)