随笔分类 -  SQL

摘要:阅读目录 使用游标 使用表变量 使用临时表 阅读目录 使用游标 使用表变量 使用临时表 在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易懂,但是它不符合面向集合操作的原则,而且性能也比面向集合低。当然,从面向集合操作的角度出发,也 阅读全文
posted @ 2019-08-16 13:54 临沂东哥 阅读(201) 评论(0) 推荐(0)
摘要:select cast(nullif('','') as datetime) ,cast('' as datetime), isnull(cast(nullif('','') as datetime),getdate()) 阅读全文
posted @ 2019-08-16 11:57 临沂东哥 阅读(1969) 评论(0) 推荐(0)
摘要:方法如下: 例如: create table student( Sno int identity(1,1) primary key, Sname varchar(100) ) 这样我们的Sno字段就可以实现自增了,第一个参数是标识种子(就是开始的值),第二个参数是标识增值(每次增加多少) 这里我们开 阅读全文
posted @ 2019-08-16 11:55 临沂东哥 阅读(4844) 评论(0) 推荐(0)
摘要:ISDATE ISNUMERIC 阅读全文
posted @ 2019-08-16 11:51 临沂东哥 阅读(839) 评论(0) 推荐(0)
摘要:1.准备工作 python3.6连接sqlserver数据库需要引入pymssql模块 pymssql官方:https://pypi.org/project/pymssql/ 没有安装的话需要: pip安装: pip install pymssql 2.连接数据库 首先你得明确目标数据库的:'服务器 阅读全文
posted @ 2019-08-16 11:48 临沂东哥 阅读(1734) 评论(0) 推荐(0)
摘要:SQL如何取出一个字符串中最后一个特殊字符右边的字符,例如:10*20*300,怎样得到300? 使用reverse配合charindex来实现。 reverse是把字符串倒置,然后通过charindex来获取倒置之后第一个*的位置,然后使用substring函数进行字符串截取,截取后再使用reve 阅读全文
posted @ 2019-08-16 11:44 临沂东哥 阅读(1025) 评论(0) 推荐(0)
摘要:今天碰到一个问题,存储过程嵌套:存储过程ProcC里嵌套ProcB,ProcB里嵌套ProcA,执行ProcC时就报错“INSERT EXEC 语句不能嵌套”; 下面这个方法可以解决问题: CREATE PROCEDURE ProcA AS SELECT '123456' GO --执行成功 EXE 阅读全文
posted @ 2019-08-16 11:40 临沂东哥 阅读(1353) 评论(0) 推荐(0)
摘要:示例: EXEC sp_addlinkedserver @server='MyLinkServer', --链接服务器别名 @srvproduct='', @provider='SQLOLEDB', @datasrc='10.10.2.17', --要访问的的数据库所在的服务器的ip @catalo 阅读全文
posted @ 2019-08-16 11:23 临沂东哥 阅读(1354) 评论(0) 推荐(0)
摘要:Update dbo.PartOpr Set 字段=值 -- 存在記錄才更新 Where OperationDesc=@OperationDesc and TopVersion=@TopVersion and DrawNum=@DrawNum and TopPartNum=@TopPartNum a 阅读全文
posted @ 2019-08-16 11:18 临沂东哥 阅读(3023) 评论(0) 推荐(0)
摘要:我们使用SQL语句处理数据时,可能会碰到一些需要循环遍历某个表并对其进行相应的操作(添加、修改、删除),这时我们就需要用到咱们在编程中常常用的for或foreach,但是在SQL中写循环往往显得那么吃力,翻遍网上的资料,找不到几个正确的并能执行的循环处理数据的方法,在这里,我来给大家分享一下! 要S 阅读全文
posted @ 2019-08-16 11:02 临沂东哥 阅读(298) 评论(0) 推荐(0)
摘要:在做数据统计的时候,行转列,列转行是经常碰到的问题。case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一、行转列 1、测试数据准备 CREATE TABLE [StudentScores] ( [UserName] NV 阅读全文
posted @ 2019-08-16 10:59 临沂东哥 阅读(217) 评论(0) 推荐(0)
摘要:-1. 旧的解决方法(sql server 2000) create table tb(id int,value varchar(30)) insert into tb values(1,'aa,bb') insert into tb values(2,'aaa,bbb,ccc') go --方法1 阅读全文
posted @ 2019-08-16 10:57 临沂东哥 阅读(830) 评论(0) 推荐(0)
摘要:<日期时间函数> (可参考下列表格) 转换函数 to_date() 作用将字符类型按一定格式转化为日期类型: 具体用法:to_date(‘2004-11-27’,’yyyy-mm-dd’),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。 如;to_date(‘2004-11-27 13 阅读全文
posted @ 2019-08-16 10:36 临沂东哥 阅读(54651) 评论(0) 推荐(0)
摘要:两种方法: 原: SELECT (Quantity*Price)/(Quantity*UnitPrice) AS [平均值] FROM ##表 报错:遇到以零作除数错误 1、在除数那里判断分母是否为0(用‘NULLIF’函数) SELECT (Quantity*Price)/NULLIF((Quan 阅读全文
posted @ 2019-08-16 10:34 临沂东哥 阅读(3871) 评论(0) 推荐(0)
摘要:--存在 select * from A where exists(select 1 from B where A.a = B.b) --不存在 select * from A where not exists(select 1 from B where A.a = B.b) 阅读全文
posted @ 2019-08-16 10:30 临沂东哥 阅读(2617) 评论(0) 推荐(0)
摘要://注解:MONTH为月、DAY为查询天、HOUR为小时、MINUTE为分钟、SECOND为秒 阅读全文
posted @ 2019-08-16 10:23 临沂东哥 阅读(5724) 评论(0) 推荐(0)
摘要:SQL 格式化数字,千分位分隔符并保留2位小数 示例图1: 示例图2: sql语句如下: SELECT CONVERT(VARCHAR(15),CAST(CONVERT(DECIMAL(12,2),LTRIM(PREPAY)) AS MONEY),1) PREPAY_V,PREPAY FROM IN 阅读全文
posted @ 2019-08-16 10:18 临沂东哥 阅读(2404) 评论(0) 推荐(1)
摘要:需求:把字符串1,2,3变成表里的行数据 方法:用自定义函数实现 用法: 阅读全文
posted @ 2019-08-16 10:17 临沂东哥 阅读(883) 评论(0) 推荐(0)
摘要:导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解。 例1: create proc proc_stu @sname varchar(20), @pwd varcha 阅读全文
posted @ 2019-08-16 10:10 临沂东哥 阅读(2870) 评论(0) 推荐(0)