数据库
青~
这个作者很懒,什么都没留下…
展开
-
SqlServer还原系统库步骤及问题解决
用单用户模式启动 SQL Server。系统库还原不能指定文件路径,此处注掉。正常登录,切换为多用户模式。原创 2024-05-31 17:35:57 · 373 阅读 · 0 评论 -
PLSql调试问题解析
ORA-12504:TNS:监听程序在CONNECT_DATA中未获得SERVICE_NAMEORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务ORA-12638: 身份证明检索失败原创 2023-11-02 15:16:37 · 2664 阅读 · 0 评论 -
用sql将excel文件导入数据库(Microsoft.ACE.OLEDB.12.0)
【代码】用sql将excel文件导入数据库。原创 2023-02-15 11:00:22 · 2503 阅读 · 0 评论 -
在插入期间,可能已从以下列中删除了多达 1550 个数据单元格: S_DQ_PCTCHANGE
开始以为是CSV格式的问题,后来发现其实是导入字段格式的问题,我S_DQ_PCTCHANGE字段定义的是float类型,需要换成Varchar类型,在导入SqlServer库CSV数据的时候,报错了,如标题所示,显示删除了单元格数据,不然会将float值为0的数据删除。原创 2022-08-25 16:35:28 · 812 阅读 · 0 评论 -
exists 和not exists用法
exists 和not exists用法原创 2022-07-12 17:22:41 · 789 阅读 · 0 评论 -
unpivot 列名转行值
unpivot 列名转行值结果:原创 2022-07-12 16:32:05 · 846 阅读 · 0 评论 -
Sql数据库表横行变纵列---pivot行转列(行值转列名)
创建一个临时表来测试--其实就是一个表间接生成一个临时的group by分组的一个表f_date in (···)是最后要显示的转换过来的列group by 是对这个临时表的一个分组,通过分组对象得到去重后对应的转换列的值.....................原创 2022-06-29 19:00:57 · 1934 阅读 · 0 评论 -
SqlServer数据库导入Excel数据:openrowset
如报错信息:Microsoft.ACE.OLEDB.12.0需要AccessDatabaseEngine支持原创 2022-06-20 10:07:18 · 314 阅读 · 0 评论 -
SqlServer 将numeric转换为数据类型numeric是出现算术溢出错误
今天插入数据时出现一个错误信息:将numeric转换为数据类型numeric是出现算术溢出错误查找了半天数据库原因无果,后来得到解决原因:插入数据类型decimal位数不够decimal(12,6):一共12位,其中小数要有6位解决:把12换成16扩大位数原创 2022-05-31 20:55:01 · 6185 阅读 · 0 评论 -
常用的数据库函数
select '20221213疑似发生大额赎回,处理基金净值异常涨跌幅,20200217疑似发生大额赎回,处理基金净值异常涨跌幅,20200224疑似发生大额赎回,处理基金净值异常涨跌幅,20200827疑似发生大额赎回,处理基金净值异常涨跌幅' f_mark into #tmp。REPLACE (str(字段,6) ,' ', 0) 例:REPLACE (str('123',6),' ', '0')-->000123。--------其中STR()函数是将数字数据转为字符数据。原创 2022-03-24 17:23:41 · 2147 阅读 · 0 评论 -
SqlServer发送邮件,定时作业
今天偶然研究了一下sqlserver发送邮件的功能,之前听说过可以发,但是一直没尝试过,只是用C#写后台程序的方式来发邮件。现在又多了一种发送邮件的途径。大致的步骤如下:1.配置sqlserver邮件发送的smtp服务器。2.发送测试邮件验证配置的正确性。3.新建作业,编写sql脚本4.配置作业,完成。完整的教程参考自:http://zhangkui.blog.51cto.com/1796259/340557其中需要注意的是,新建配置文件的时候需要记住配置的文转载 2022-03-24 17:01:45 · 1030 阅读 · 0 评论 -
数据库索引原理
前段时间,公司一个新上线的网站出现页面响应速度缓慢的问题, 一位负责这个项目的但并不是搞技术的妹子找到我,让我想办法提升网站的访问速度 ,因为已经有很多用户来投诉了。我第一反应觉的是数据库上的问题,假装思索了一下,摆着一副深沉炫酷的模样说:“是不是数据库查询上出问题了, 给表加上索引吧”,然后妹子来了一句:“现在我们网站访问量太大,加索引有可能导致写入数据时性能下降,影响用户使用的”。当时我就楞了一下, 有种强行装逼被拆穿的感觉,在自己的专业领域居然被非专业的同学教育, 面子上真有点挂不住。其实, 我说转载 2022-03-24 16:31:06 · 434 阅读 · 0 评论 -
PIVOT、UNPIVOT
PIVOT怎么把行变列数据结构图代码:SELECT 'TotalPrice' AS [Week],[1],[2],[3],[4],[5],[6],[7]FROM ShoppingCart PIVOT(SUM(TotalPrice) FOR [Week] IN([1],[2],[3],[4],[5],[6],[7])) AS T结果UNPIVOT函数,与上述功能相反,把列转成行...原创 2022-03-03 16:03:35 · 231 阅读 · 0 评论 -
SQLServer常用开发文档
Microsoft.Azure SQL 文档Azure SQL documentation - Azure SQL | Microsoft DocsMicrosoft.Azure文档Azure documentation | Microsoft Docs系统存储过程-SQLServer代理sp_add_job (Transact-SQL) - SQL Server | Microsoft Docs原创 2022-02-22 15:54:46 · 619 阅读 · 0 评论 -
外关联数据冗余问题
关联哪个表,那这个表就会无时on后面的对这个表条件,最后结果出现冗余,只能最后用where来筛选例:select * from a left join b on a,id=b.id and a.num=1结果和下面这个是一样的select * from a left join b on a,id=b.id ...原创 2022-02-10 18:19:33 · 260 阅读 · 0 评论 -
游标实例2
问题描述:最后输出结果分析:这个题其实可以不用游标做的,用俩个相同表join日期关联后再进行分组就好,但同样也可以试试游标,写起来也会简介一些创建表:CREATE TABLE #table_a (event_date date NOT NULL,user_id varchar(6) NOT NULL,PRIMARY KEY (event_date,user_id));INSERT INTO #table_a VALUES('2021-01-01','7bTCDm');.原创 2022-02-10 13:25:35 · 360 阅读 · 0 评论 -
distinct 必须放在select 后面第一位
distinct 必须放在select 后面第一位例:正确例子SELECT distinct t1.school_id,'107', '校长办公室', '0', '2', '', '', 1, NULL, NULL, NULL, NULL, NULL, 1, NULL from edu_cloud_school t1 left join edu_cloud_department t2 on t1.school_id=t2.school_id where t2.school_id is nul原创 2022-01-24 15:54:34 · 1523 阅读 · 0 评论 -
EXCEPT、INTERSECT和UNION
EXCEPT、INTERSECT和UNION原创 2022-01-17 15:10:17 · 158 阅读 · 0 评论 -
decimal数据类型
decimal是MySQL中存在的精准数据类型。MySQL中的数据类型有:float,double等非精准数据类型和decimal这种精准。区别:float,double等非精准类型,在DB中保存的是近似值。Decimal则以字符串的形式保存精确的原始数值。对SQL Server而言,decimal和numeric视为相同的类型,它们可用来保存具有小数点而且数值确定的数值。它们不像float和real是用来保存近似值。此类型的列其声明方式为decima[(p[,s])]或numericl[(p[,s原创 2022-01-04 17:25:49 · 5711 阅读 · 0 评论 -
cursor 游标
游标一般格式:DECLARE 游标名称 CURSOR FOR SELECT 字段1,字段2,字段3,... FROM 表名 WHERE ...OPEN 游标名称FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,...WHILE @@FETCH_STATUS=0 BEGIN SQL语句执行过程... ... FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变.原创 2021-12-28 15:54:44 · 230 阅读 · 0 评论 -
outer apply 、cross apply
创建表create table #a_aa_a(t_id int,t_name varchar(10),)insert into #a_aa_a VALUES (1,'盲僧')insert into #a_aa_a VALUES (2,'亚索')insert into #a_aa_a VALUES (3,'盖伦')create table #b_bb_b(t_id int,t_name varchar(10),t_date int,t_grade int)inser原创 2021-12-02 17:32:04 · 236 阅读 · 0 评论 -
Rtrim()、Ltrim()去掉字符串中的空白(空格)函数
Ltrim():去除字符串左边空格select ltrim(' 左边有空格'),ltrim('右边有空格 ')结果:空格处为蓝色显示,结果处看不方便Rtrim():去除字符串右边空格select rtrim(' 左边有空格'),rtrim('右边有空格 ')结果:空格处为蓝色显示,结果处看不方便...原创 2021-12-02 10:24:04 · 1654 阅读 · 0 评论 -
sql 把字段拼起来显示
按老师的ID分类后,将对应的班级ID用 “/”拼接起来SqlserverSELECT 字段1, [随便来个名字就行] = stuff(( SELECT '/' + [年级2] FROM aa t WHERE t.老师ID = aa.老师ID FOR xml path('')) , 1 , 1 , '') FROM aa GROUP BY 老师IDMysql、OracleSELECT老师ID,grou...原创 2021-09-18 17:26:50 · 1251 阅读 · 0 评论 -
筛选出userid对应最大日期的数据,并得到特定时间在筛选出数据对应的ID
需求:筛选出userid对应最大日期的数据,并得到特定时间在筛选出数据对应的ID建表create table #a_aa_a(t_id int,t_uesrid INT ,t_time varchar(10))insert into #a_aa_a VALUES (1,1,'20200101')insert into #a_aa_a VALUES (2,1,'20210101')insert into #a_aa_a VALUES (3,1,'20220101')insert原创 2021-08-30 15:54:58 · 239 阅读 · 0 评论 -
对case筛选符合条件的数据使用聚合函数的测试案例
创建表create table #a_aa_a(t_id int,t_name varchar(10),t_date int,t_grade int)insert into #a_aa_a VALUES (132154,'盲僧',20210401,1)insert into #a_aa_a VALUES (231654,'盲僧',20210403,2)insert into #a_aa_a VALUES (236587,'盲僧',20210405,3)insert into #原创 2021-08-18 10:11:52 · 248 阅读 · 0 评论 -
TIMESTAMP类型数据插入及类型转换
TIMESTAMP类型数据插入及类型转换原创 2021-07-30 16:52:15 · 6751 阅读 · 0 评论 -
SQL查询语句的执行顺序
结合网上资料,写一下执行顺序,缺少的后续再补充sql语句中,执行循序如下:1、from,join2、on3、where4、group by5、聚合函数6、having7、select8、distinct9、case when --暂定10、order by11、limit,top...原创 2021-06-22 15:01:02 · 218 阅读 · 0 评论 -
删除数据表里没有主键的重复数据--创建主键
create table #a_aa_a(t_name varchar(10),t_date int,t_grade int)insert into #a_aa_a VALUES ('盲僧',20210401,1)--insert into #a_aa_a VALUES ('盲僧',20210403,2)insert into #a_aa_a VALUES ('盲僧',20210401,1)--insert into #a_aa_a VALUES ('亚索',20210401,1).原创 2021-06-10 15:15:06 · 533 阅读 · 0 评论 -
Execute用法
Execute用法原创 2021-06-09 17:54:35 · 10770 阅读 · 0 评论 -
select(select from table_a ) from table_b 嵌套语句解析
今天遇到一个问题这是下面的例句:select (select b1.name from table_b where a1.id=b1.id and ···)from table_1 a1 where ···原创 2021-06-07 17:33:34 · 2560 阅读 · 0 评论 -
EXISTS 与 in的区别
SQL中EXISTS的用法比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID)这里面的EXISTS是如何运作呢?子查询返回的是OrderId字段,可是外面的查询要找的是CustomerID和CompanyName字段,这两个字段肯定不在OrderID里面啊,这是.转载 2021-06-04 17:23:02 · 313 阅读 · 0 评论 -
取查询结果的最大值的一行数据。
取查询结果的最大值的一行数据先用order by 字段 desc 使得结果排序再用limit 1得到结果的第一行问题:SqlServer没有limit怎么实现。。。待验证原创 2021-05-26 17:54:23 · 1991 阅读 · 0 评论 -
UTS同步数据库
一 目标利用UTS实现数据库之间的同步二 安装UTS到官网下载UTS安装包,官网地址:http://www.uxsdata.com/,目前只看到windows版本在官网下载的是试用版本,如果想使用正式版本,请联系UTS工作人,联系方式请到官网查询安装UTS:将下载好的软件,安装时直接下一步、下一步即可安装好以后,桌面会出现两个图标图1UTS Client Console是客户端程序,UTS Admin Console是服务端程序,这两个程序是用来配置和监控用的,服务端...转载 2021-05-12 11:02:36 · 854 阅读 · 0 评论 -
having()闲谈
在sql中使用group分组以后还想对结果进行筛选的话,就需要用到having()有意思的是,having()虽然填补了where的空缺,例1:SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggregate_function(column_name) operator value.原创 2021-04-30 10:29:34 · 204 阅读 · 0 评论 -
查询出每门课都大于85 分的学生姓名
用一条SQL语句 查询出每门课都大于85分的学生姓名name course scoreMary语文 87Mary数学 75Jeky语文 76Jeky数学 90Lisa语文 88Lisa数学 100Lisa英语 90sql:select distinct name from table_name wh...原创 2021-04-30 10:11:41 · 3981 阅读 · 0 评论 -
删除表数据:delete、truncate、drop比较
记得之前写过一篇,回来找结果没有,,莫不是被删了。。再补一下delete:只是删除表数据,会留下日志,所以后续也可通过rollback来回滚,删除方式为一行行删除,效率低truncate:直接删除整表数据,不会留下日志,也不会触发表的触发器drop:将表、表的触发器、表结构全部删除...原创 2021-04-30 09:57:30 · 179 阅读 · 0 评论 -
sql填补表数据--不连续日期案例
先创建一个临时表---临时表知识因为个人环境及去权限问题,这里可以正常建表create table #a_aa_a(t_id int,t_name varchar(10),t_date int,t_grade int)insert into #a_aa_a VALUES (132154,'盲僧',20210401,1)insert into #a_aa_a VALUES (231654,'盲僧',20210403,2)insert into #a_aa_a VALUES (236原创 2021-04-29 15:35:36 · 1569 阅读 · 0 评论 -
sql语句条件where和on的区别
SQL执行的顺序on是在leftjoin或者rightjoin之前执行;where是在前面两者之后执行on:实在join生成中间表时候的条件where:是已经执行完join后,再从中间表筛选条件但是如果只是执行join的话,俩者结果都没有区别菜鸟教程很详细,可以看一下,简单易懂https://www.runoob.com/w3cnote/sql-different-on-and-where.html...原创 2021-04-15 17:44:31 · 394 阅读 · 0 评论 -
开窗函数over(),rank()的用法及例子
开窗函数over的常用方法先创建一个表(目前条件有限,日后再补,用表格先凑合一下。。。)1.为每条数据显示聚合信息.(聚合函数() over()select *, max(num) over () as '杀敌最大数' fromtable_name结果:select *,sum(num) over () as '杀敌总数' fromtable_name2.位每条数据提供分组的聚合函数结果(聚合函数() over(partition by 字段) as ...原创 2021-04-15 15:32:14 · 6689 阅读 · 1 评论 -
SqlServer 中 nolock和with(nolock)
最近刚换了工作,数据库也换了,看函数的时候发现里面有nolock这个用法,例如:sleect * from table_namewith(nolock)于是搜索了很多,现在做一个总结nolock:其实说白了,就是数据库机制不同导致的,MySQL、Oracle默认情况是不会发生阻塞现象,不会读取脏数据的,也就是说不会出现一行数据不完整的情况而SqlServer不一样,如果此时有修改数据的发生,那么会进行阻塞,防止读脏,但是这样会导致时间超时,对于大量数据企业很不友好所以为了避免阻塞现.原创 2021-04-14 11:22:42 · 2647 阅读 · 0 评论