-
一个常用的报表统计SQL语句
一般都给定按日期区间统计某一值,每一个列就是统计时的分类。如下图:下面给出上图的例子的sql语句写法:(注:此处是按“日期”字段统计)复制代码代码如下:select日期,自选字段1,自选字段2,sum(类型1)类型1,sum(类型2)类型2,sum(类型3)类型3,sum(类型4)类型4,sum(类型5)类型5,sum(类型6)类型6from(selectto_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd')日期,自选字段1,自选字段2,count(主键字段)类型1,0类型2,0类型3,0类型4,0类型5,0类型6from表名where1=1groupbyto_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd'),自选字段1,自选字段2unionallselectto_date(to_char(日期,'yyyy-MM-dd'),'yyyy-mm-dd')日期,自选字段1,自选字段2,0类型1,count(主键字段)类型2,0类型3,0类型4,0类型5,0类型6from表名where1=1groupbyto_date...
数据库操作教程 2022-09-23 20:23:47 -
SQLServer常用管理命令小结
1.查看数据库的版本 select@@version 2.查看数据库所在机器操作系统参数 execmaster..xp_msver 3.查看数据库启动的参数 sp_configure 4.查看数据库启动时间 selectconvert(varchar(30),login_time,120)frommaster..sysprocesseswherespid=1 查看数据库服务器名和实例名 print'ServerName...............:'+convert(varchar(30),@@SERVERNAME) print'Instance..................:'+convert(varchar(30),@@SERVICENAME) 5.查看所有数据库名称及大小 sp_helpdb 重命名数据库用的SQL sp_renamedb'old_dbname','new_dbname' 6.查看所有数据库用户登录信息 sp_helplogins 查看所有数据库用户所属的角色信息 sp_helpsrvrolemember 修复迁移服务...
数据库操作教程 2022-09-23 20:21:38 -
sql高级技巧几个有用的Sql语句
1、例如:有两个表A(字段1,字段2,字段3)、B(字段2,字段3),其中存储数据如下所示表A字段1字段2字段31<Null>地段内容11<Null>地段内容12<Null>地段内容22<Null>地段内容23<Null>地段内容34<Null>地段内容45<Null>地段内容55<Null>地段内容55<Null>地段内容56<Null>地段内容67<Null>地段内容78<Null>地段内容88<Null>地段内容88<Null>地段内容88<Null>地段内容8表B字段2字段3wdz1地段内容1wdz2地段内容3wdz3地段内容5wdz4地段内容6wdz5地段内容7wdz6地段内容8使用下面的Sql语句(可以达到将表A中字段3与表B中字段3相同的数据字段2填充到表A中的字段2)update表1set字段1=(select字段1from表2where表1.字段3=表2.字段3)结果如下表所示表A结果字段1...
数据库操作教程 2022-09-23 20:21:08 -
Sqlserver常用日期时间函数
MSSQLServer中文版的预设日期datetime格式是yyyy-mm-ddhh:mm:ss.mmm长短日期格式复制代码代码如下:--短日期格式:yyyy-m-dSELECTREPLACE(CONVERT(varchar(10),getdate(),120),N'-0','-')--长日期格式:yyyy年mm月dd日SELECTSTUFF(STUFF(CONVERT(char(8),getdate(),112),5,0,N'年'),8,0,N'月')+N'日'--短日期格式:yyyy年m月d日SELECTDATENAME(Year,getdate())+N'年'+CAST(DATEPART(Month,getdate())ASvarchar)+N'月'+DATENAME(Day,getdate())+N'日'--完整日期+时间格式:yyyy-mm-ddhh:mi:ss:mmmSELECTCONVERT(char(11),getdate(),120)+CONVERT(char(12),getdate(),114)CONVERT复制代码代码如下:SelectCONVERT(varcha...
数据库操作教程 2022-09-23 20:18:04 -
数据库中经常用到的操作和管理数据库的语句总结第1/2页
/*--整理者:永恒de影--整理时间:2010/06/08--内容:SQL函数的介绍:*/--★★SQL2000查询出各(某)表字段的属性:★★★★★★★★★★★★★★★★★★SELECT表名=casewhena.colorder=1thend.nameelse''end,表说明=casewhena.colorder=1thenisnull(f.value,'')else''end,字段序号=a.colorder,字段名=a.name,标识=casewhenCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1then'√'else''end,主键=casewhenexists(SELECT1FROMsysobjectswherextype='PK'andparent_obj=a.idandnamein(SELECTnameFROMsysindexesWHEREindidin(SELECTindidFROMsysindexkeysWHEREid=a.idANDcolid=a.colid)))then'√'else''end,类型=b.name,占用字节数...
数据库操作教程 2022-09-23 20:16:09 -
阿拉伯数字转大写中文_财务常用sql存储过程
例:输入12345,程序给出:壹万贰仟叁佰肆拾伍例:输入10023040,程序给出:壹仟另贰万叁仟另肆拾解决方案之一(在SqlServer2000中测试通过):CREATEFUNCTIONfun_cgnum(@numINT)RETURNSVARCHAR(100)ASBEGINDECLARE@tempINT,@resINT,@iTINYINTDECLARE@strVARCHAR(100),@noVARCHAR(20),@unitVARCHAR(16)SELECT@str='',@no='另壹贰叁肆伍陆柒捌玖',@unit='拾佰仟万拾佰仟亿'SET@temp=@numSELECT@i=0,@res=@temp%10,@temp=@temp/10WHILE@temp>0BEGINIF@i=0SET@str=SUBSTRING(@no,@res+1,1)ELSESET@str=SUBSTRING(@no,@res+1,1)+SUBSTRING(@unit,@i,1)+@strSELECT@res=@temp%10,@temp=@temp/10SET@i=@i+1ENDSET@str=S...
数据库操作教程 2022-09-23 20:12:36 -
数据库常用的sql语句汇总
SQL是目前使用最为广泛的数据库语言之一。这里,我总结了在数据库上,用SQL语言对数据排序、过滤和分组,以及表、视图、联结、子查询、游标、存储过程和触发器等内容...
数据库操作教程 2022-09-23 18:18:14 -
SqlServer数据库常用Transact-SQL脚本(推荐)
Transact-SQLTransact-SQL(又称T-SQL),是在MicrosoftSQLServer和SybaseSQLServer上的ANSISQL实现,与Oracle的PL/SQL性质相近(不只是实现ANSISQL,也为自身数据库系统的特性提供实现支持),在MicrosoftSQLServer和SybaseAdaptiveServer中仍然被使用为核心的查询语言。数据库1、创建数据库USEmaster;GOCREATEDATABASESalesON(NAME=Sales_dat,FILENAME='C:ProgramFilesMicrosoftSQLServerMSSQL13.MSSQLSERVERMSSQLDATAsaledat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=Sales_log,FILENAME='C:ProgramFilesMicrosoftSQLServerMSSQL13.MSSQLSERVERMSSQLDATAsalelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=...
数据库操作教程 2022-09-23 18:08:00 -
sqlserver日志处理不当造成的隐患详解
事故背景:一大早还在路上,群里陆续有人反馈系统一直报错“Unknownerror258”,后来查询日志发现错误日志第一反应是不是数据库连接不够用了?导致超时?但是通过sql查询当时连接也只有40个左右,于是继续排查问题,发现dbserver机器这段时间磁盘io操作特别的高,很不正常,详见下图发现磁盘io问题,继续查看sqlserver日志,发现原因:“Autogrowoffile‘xxxx_log'indatabase‘xxxx'wascancelledbyuserortimedoutafter3398milliseconds. UseALTERDATABASEtosetasmallerFILEGROWTHvalueforthisfileortoexplicitlysetanewfilesize.”发现这种问题因为log日志文件太大了一直没有压缩过,并且创建数据库的时候默认选择了10%的增量来扩大log增量文件,这样日志文件的10%会越来越大从而产生超时高io操作解决方案:1、定期清理log文件,防止log文件越来越大USE[master]GOALTERDATABASE数据库...
数据库操作教程 2022-09-23 17:58:05 -
SQLServer中参数化SQL写法遇到parametersniff,导致不合理执行计划重用的快速解决方法
parametersniff问题是重用其他参数生成的执行计划,导致当前参数采用该执行计划非最优化的现象。想必熟悉数据的同学都应该知道,产生parametersniff最典型的问题就是使用了参数化的SQL(或者存储过程中使用了参数化)写法,如果存在数据分布不均匀的情况下,正常情况下生成的执行计划,在传入在分布数据较多的参数的情况下,重用了正常参数生成的执行计划,而这种缓存的执行计划并非适合当前参数的一种情况...
数据库操作教程 2022-09-23 17:57:30