随笔分类 -  03-Database / 01-SQL Server

摘要:一、前言概述 在写一些业务逻辑相对复杂点的存储过程的时候,经常会用到临时表或者数据表作为临时结果的保存。但每次在作表是否存在的判断时,往往想不起完整的SQL写法。因此,记录一些常用的数据库对象是否存在的判断方法,可以达到快速查找的目的。正是:好记性不如烂笔头。 二、数据库相关的判断 2.1、判断数据 阅读全文
posted @ 2023-05-05 00:03 缥缈的尘埃 阅读(383) 评论(0) 推荐(1) 编辑
摘要:一、前言 很多企业管理系统,在单据及报表的使用时,都会提供小数点有效数字后0是否显示的功能。在金蝶云星空的BOS平台,这个功能叫"隐藏尾0"。现在假如自己开发一个系统,提供可配置的"隐藏尾0"的功能,该如何实现呢?以下是数据库开发方面的解决方案,仅供参考。 二、方案 方法一、将数据转换为REAL类型 阅读全文
posted @ 2023-02-03 17:21 缥缈的尘埃 阅读(2194) 评论(0) 推荐(2) 编辑
摘要:一、引言 过往的工作中,接触过一些不同的ERP系统。一个系统的数据字典,对于系统推行、运维、二次开发、深度定制,起到非常重要的桥梁作用。因此,记录一下各个系统生成数据字典的SQL语句,以便于快速查询。 二、数据字典 2.1、天思经理人ERP 版本:V9.2.8 --天思经理人ERP V9.2.8 U 阅读全文
posted @ 2022-05-14 14:35 缥缈的尘埃 阅读(546) 评论(0) 推荐(0) 编辑
摘要:一、基础知识 1、xml:元素、属性和值。 2、xpath:寻址语言,类似Windows目录的查找。 语法格式: 1)"."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代,"name"表示按名字查找,"@name"表示按属性查找。 2)"集合[条件]" 表示根据条件取集合的子集,条件可 阅读全文
posted @ 2022-05-14 10:27 缥缈的尘埃 阅读(315) 评论(0) 推荐(0) 编辑
摘要:一、引言 CTE(Common Table Expression) 公用表达式,它是在单个语句的执行范围内定义的临时结果集,只在查询期间有效。它可以自引用,也可在同一查询中多次引用,实现了代码段的重复利用。 CTE最大的好处是提升T-Sql代码的可读性,可以以更加优雅简洁的方式实现递归等复杂的查询。 阅读全文
posted @ 2022-05-13 13:51 缥缈的尘埃 阅读(521) 评论(1) 推荐(1) 编辑
摘要:一、引言 SQL Server有一些很好用的功能,只不过由于个人原因没用过或者不记得怎么用,导致需要花点时间用其它方式来实现。 二、好用小知识 2.1、FORMAT函数 1)时间格式化,如将当前日期格式化为2022-05-12: SELECT FORMAT(GETDATE(),'yyyy-MM-dd 阅读全文
posted @ 2022-05-12 19:41 缥缈的尘埃 阅读(339) 评论(0) 推荐(0) 编辑
摘要:一、引言 A表数据同步至B表的场景很常见,比如一个公司有总部及分厂,它们使用相同的系统,只是账套不同。此时,一些基础数据如物料信息,只需要总部录入即可,然后间隔一定时间同步至分厂,避免了重复工作。 二、测试数据 CREATE TABLE StudentA ( ID VARCHAR(32), Name 阅读全文
posted @ 2022-05-12 18:40 缥缈的尘埃 阅读(4375) 评论(0) 推荐(0) 编辑
摘要:一、引言 现实工作中,有一些很特别的需求:在一个汇总表中,需要显示明细数据。因为是在汇总表中,所以明细数据只能显示在某一列中,这个列,就是多行数据合并为一行之后的结果。 二、测试数据 CREATE TABLE [dbo].[Score] ( [ID] [varchar] (32) COLLATE C 阅读全文
posted @ 2022-05-10 13:17 缥缈的尘埃 阅读(5767) 评论(0) 推荐(1) 编辑
摘要:一、概念简介 1.1、基本概念 1)读写分离概念:是把对数据库的读操作和写操作分离开。在一定程度上,读写分离可以缓解读写操作并发时产生锁的问题。 2)读写分离原理:是让主数据库处理事务性增、删、改操作(INSERT、DELETE、UPDATE),而从数据库处理查询操作(SELECT)。 1.2、技术 阅读全文
posted @ 2021-10-19 17:59 缥缈的尘埃 阅读(11105) 评论(4) 推荐(5) 编辑
摘要:一、引言 删除分区又称为合并分区,简单地讲就是将多个分区的数据进行合并。现以表Sales.SalesOrderHeader作为示例,演示如何进行表分区删除。 重要的事情说三遍:备份数据库!备份数据库!备份数据库! 二、演示 2.1、数据查询 1)查看分区元数据 SELECT * FROM SYS.P 阅读全文
posted @ 2021-09-29 15:51 缥缈的尘埃 阅读(1519) 评论(1) 推荐(0) 编辑
摘要:一、分区表概念 1.1、什么是分区表? 分区表是在SQL Server 2005之后的版本引入的特性,这个特性允许把逻辑上的一个表在物理上分为很多部分。换句话说,分区表从物理上看是将一个大表分成几个小表,但是从逻辑上看,还是一个大表。 1.2、分区与分表的区别 分区:就是把一张表的数据分成N个区块, 阅读全文
posted @ 2021-09-28 14:18 缥缈的尘埃 阅读(718) 评论(0) 推荐(0) 编辑
摘要:1.1、查找缺失索引 SELECT A.USER_SEEKS 查找次数,A.USER_SCANS 扫描次数, ROUND(A.AVG_TOTAL_USER_COST,2) 减少的用户查询的平均成本,A.AVG_USER_IMPACT 可能获得的平均百分比收益, ROUND((A.USER_SEEKS 阅读全文
posted @ 2021-09-24 15:22 缥缈的尘埃 阅读(784) 评论(0) 推荐(1) 编辑
摘要:一、产生原因及影响 索引是数据库引擎中针对表(有时候也针对视图)建立的特别数据结构,用来帮助查找和整理数据,它的重要性体现在能够使数据库引擎快速返回查询结果。当对索引所在的基础数据表进行增删改时,若存储的数据进行了不适当的跨页(SQL Server中存储的最小单位是页,页是不可再分的),就会导致索引 阅读全文
posted @ 2021-09-23 13:42 缥缈的尘埃 阅读(4693) 评论(3) 推荐(3) 编辑
摘要:一、引言 使用SQL Server的OPENROWSET及OPENDATASOURCE函数,可以像查询数据表一样来读取Excel数据。但是,要想让这两个函数能正常运行,可不是那么容易,假如没理解或没配置好的话,一路的报错会让你怀疑人生。 二、配置 2.1、组件安装 要想使用OPENROWSET及OP 阅读全文
posted @ 2021-01-26 14:09 缥缈的尘埃 阅读(5497) 评论(0) 推荐(0) 编辑
摘要:一、PassPhrase加密 1.1、概要简述 1)对于不涉及证书及密钥的应急的数据加密,可以直接基于用户提供的密码来加密和解密数据。 2)通行短语(PassPhrase)是允许存在空格的密码。这个PassPhrase不会存储在数据库中,因而也就意味着不会被使用存储的系统数据"破解"。同时,可以使用 阅读全文
posted @ 2021-01-20 14:39 缥缈的尘埃 阅读(3148) 评论(0) 推荐(3) 编辑
摘要:这是某公司的一份SQL Server数据分析面试题,总共有4道题,此处挑选了其中的3道,另外1道比较简单,就不列出来了。 第一题: 题目:写一个SQL函数,能将一串字符串按指定的分隔符拆分成行。比如给定字符串"查询,入库,出库,移库,盘点,设置",查询出来的结果是: 审题:这是一道典型的Split函 阅读全文
posted @ 2020-08-14 17:14 缥缈的尘埃 阅读(1507) 评论(4) 推荐(0) 编辑
摘要:工作中偶尔会出现:想用A数据表替换B数据表,然后把B数据表删除。但是,又不知道B数据表在哪个视图、存储过程、函数、触发器中使用过? 经过一番度娘,看到实现方法也不难,主要涉及两个系统表:sysobjects及syscomments。 1、先来复习一下sysobjects表结构: 2、比如查一个表如[ 阅读全文
posted @ 2019-11-05 23:51 缥缈的尘埃 阅读(1057) 评论(0) 推荐(1) 编辑
摘要:前几天,看到一个群友用WITH ROLLUP运算符。由于自个儿没用过,看到概念及结果都云里雾里的,所以突然来了兴趣对生成结果测了一番。 一、概念: WITH CUBE:生成的结果集显示了所选列中值的所有组合的聚合。 WITH ROLLUP:生成的结果集显示了所选列中值的某一层次结构的聚合。 GROU 阅读全文
posted @ 2019-11-05 01:59 缥缈的尘埃 阅读(2172) 评论(2) 推荐(0) 编辑
摘要:有时候动态sql需要进行变量的赋值,这个时候就需要调用系统的存储过程sp_executesql了。使用中还是有些注意事项,代码如下: --字符型字段需声明为NVARCHAR类型 DECLARE @STRSQL NVARCHAR(1000),@VALUE_STR NVARCHAR(254) --动态S 阅读全文
posted @ 2019-06-20 23:23 缥缈的尘埃 阅读(1900) 评论(0) 推荐(0) 编辑
摘要:工作中,经常会遇到将某个数据表的所有或大部份字段读取出来情况,比如说跨数据库进行表更新或插入等。假如字段名一个一个地敲的话,一是效率低,二是会有漏掉的情况。 针对此种情况,处理的方法有很多种,比如新建一个视图,在里面录入SELECT * FROM 表名,系统会自动将星号改成字段名(SQL SERVE 阅读全文
posted @ 2018-01-17 11:55 缥缈的尘埃 阅读(452) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示