
DataBase
文章平均质量分 86
vil du
这个作者很懒,什么都没留下…
展开
-
SQL DATENAME(month,getdate())返回的数据为英文日期及把日期转为字符去比较的性能问题
最近 和一个同事一同开发一个电商项目 项目收尾写报表的时候 队友可把我坑惨了首先是SQL SERVER DATENAME()这个方法的坑再次是一个日期的性能问题1.DATENAME(month,getdate())在数据库脚本运行环境为中文的时候返回01、02的数据,运行环境为英文的时候返回may这样的英文日期缩写报表按月查询 界面大概就长这个样子传去存储的参数:@time=‘202005’既然只说时间的问题定义一个订单表Orders如下:CREATE TABLE [dbo].[Ord.原创 2020-06-11 18:36:15 · 3894 阅读 · 0 评论 -
SqlSever中Where子句后进行条件判断
我看到的一个方法是这样的:两段代码如下://这段代码会报错where case when (@a = null) then 1 = 1 else @a=aand b=@b//这样写是正确的where(1 = (CASE WHEN @a IS NULL THEN 1 ELSE 0 END)OR a=@a )AND b=@b附上原文如下:sqlser...原创 2019-09-16 18:26:32 · 11166 阅读 · 0 评论 -
sql 按月查询数据 不允许跨年
大概日期框这个样子 查询时 不可跨年 只能按月查sql代码如下:DECLARE @startTime datetime=null --搜索的开始时间DECLARE @endTime datetime=null --搜索的结束时间--以o.FinishTime为基准select @endtime=dateadd(day,1,@endtime)--时间不为空且查询结束时间...原创 2019-08-29 17:06:11 · 824 阅读 · 0 评论 -
SqlSever常用的函数方法
前言:以前那家公司用linq查询比较多很少用到sql拼接 sql水平一直也就那样 后来的这家公司业务基本写在存储过程中 所以开始写sql的漫漫长路查询表注释/查询年月--查询表注释Select sc.NAME,dc.ColumnName_Cn,t.name as ColumnType,t.length as ColumnWidth,case when sc.isnullable=1 TH...原创 2019-08-29 16:53:30 · 343 阅读 · 0 评论 -
面试攻略(数据库相关)
数据库方面:数据库性能优化一、 减少数据访问(减少磁盘访问)1. 创建并使用正确的索引(索引相当于一本字典的目录)2. 只通过索引访问数据3. 优化SQL执行计划二、 返回更少数据(减少网络传输或磁盘访问)1. 数据分页处理(客户端分页、服务器端分页、数据库分页)2. 只返回需要的字段三...原创 2019-06-21 09:45:28 · 371 阅读 · 0 评论 -
触发器
触发器的创建规则触发器是与一个表或数据库时间联系在一起的,当特定事件出现时将自动执行触发器的代码块。触发器与过程的区别在于:过程是由用户或应用程序显示调用的,而触发器是不能被直接调用的。触发器能够执行的功能包括: ⑴ 自动生成数据。 ⑵ 强制复杂的完整性约束条件。 ⑶ 自定义复杂的安全权限。 ⑷ 提供审计和日志记录。 ⑸ 启用复杂的业务逻辑。 Oracle支持的触发器有以下几...原创 2018-10-24 15:32:12 · 1657 阅读 · 0 评论 -
存储过程
存储过程特点存储过程是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用中多次调用。PL/SQL有两种类型的存储过程:过程和函数。其中,过程用于执行特定操作,而函数则用于返回特定数据。通过将商业逻辑和企业规则集成到PL/SQL子程序中,可以简化客户端应用的开发和维护,提高应用的性能。创建存储过程语法过程一般用于执行一个指定的操作,可以将常用的特定操作封装成过程。语法:C...原创 2018-10-24 11:11:01 · 442 阅读 · 0 评论 -
PL SQL语言基础
PL/SQL语言简介PL/SQL概述PL/SQL是Oracle在标准SQL语言上的过程性原创 2018-10-23 16:53:45 · 680 阅读 · 0 评论 -
SQL语言基础
SQL语言概述SQL介绍SQL(结构化查询语言)是一种在关系型数据库中定义和操作数据的标准语言,是应用程序与数据库进行交互操作的接口。当执行SQL语句时,每次只能发送并处理一条语句。如果需要减少语句的发送和处理的次数,就可以使用PL/SQL。当使用PL/SQL执行SQL语句时,用户只需要理解其逻辑含义即可,无须了解SQL语句执行的具体步骤。Oracle会自动的对SQL语句进行优化处理,确定最...原创 2018-10-09 17:39:43 · 1213 阅读 · 0 评论 -
Oracle基础知识
Oracle简介Oracle数据库系统是美国Oracle(甲骨文)公司提供的、以分布式数据库为核心的一组软件产品,是目前最流行的C/S或B/S体系结构的数据库之一。Oracle数据库是目前世界上使用最广泛的数据库管理系统,作为通用数据库系统,它具有完整的数据管理功能,作为关系数据库,它是一个具有完备关系的产品,作为分布式数据库,它实现了分布式处理功能。Oracle数据库系统主要包含以下4个特点:...原创 2018-09-29 16:04:32 · 1111 阅读 · 0 评论 -
数据库基础知识
用数据库也用了几年了,但也只是趋于建表和一些sql语句的增删改查(估计大部分的程序猿都和我一样),连事务和存储过程都很少写。对数据库的基础知识了解有限,故特意翻阅资料整理总结如下。数据库技术发展史数据处理技术1. 数据数据时描述事物的符号记录,是信息的一种载体,是信息一种具体表现形式。数据不仅是指数值类的数据,如123,而且还包含着像文字、图形、图像和声音以及视频等都是数据。2. 数据处...原创 2018-09-27 16:55:22 · 805 阅读 · 0 评论 -
数据库之序列/视图/索引
序列序列概述序列是一个命名的顺序编号生成器,它能以串行的方式生成一系列顺序整数。与视图、约束相似,序列不占用实际的存储空间,而只在数据字典中保存序列的定义。引入序列的理由或序列的主要用途主要有以下3点。⑴ 主键、外键值应用需求在某些表中,主键可以需要由多个字段组成,如果将这些字段合起来作为主键。就会将问题复杂化。因此,可以使用简单的顺序号来代替多个字段的主键标识记录,以简化子表对于父表的引...原创 2018-10-15 11:40:02 · 616 阅读 · 0 评论 -
数据库多表联查(左连接查询)
现有三张数据表如下:ApplyProcessModule(模块表) ApplyProcessTemplate(模板表) ApplyProcessStepConfigInfo(流程步骤表) 表关系如下:流程步骤表的流程模板Id=模板表模板id流程步骤表的模块id=模块表模块id流程步骤表的下一步骤ID=模块表模块id数据库代码如下:select *f...原创 2019-09-16 17:35:30 · 6546 阅读 · 0 评论