SQL
Sam萨姆
聪明在于勤奋,天才在于积累。
展开
-
Winform通用框架之权限管理系-----数据库设计
数据库脚本下载地址:https://download.csdn.net/download/zzzzzzzert/12002728原创 2019-11-28 11:02:37 · 1847 阅读 · 5 评论 -
分页通用存储过程
/*通用分页存储过程1*/USE HotelManagementSystemGOIF EXISTS(SELECT * FROM sys.objects WHERE NAME='cndoup_GetPageOfRecords') DROP PROCEDURE cndoup_GetPageOfRecordsGO--创建存储过程CREATE PROCEDURE cndoup原创 2014-04-10 11:34:21 · 468 阅读 · 0 评论 -
SQL2008 字符串函数
1. 字符串函数函数 名称 参数 示例 说明ascii(字符串表达式)select ascii('abc') 返回 97返回字符串中最左侧的字符的ASCII 码。char(整数表达式)select char(100) 返回 d把ASCII 码转换为字符。介于0 和 255 之间的整数。如果该整数表达式不在此范围内,将返回NUL原创 2014-04-10 11:31:41 · 645 阅读 · 0 评论 -
SQL2008日期函数
参数 示例 说明dateadd(日期部分,数字,日期)select dateadd(year,45,'1990-12-11')返回 2035-12-11 00:00:00.000select dateadd(month,45,'1990-12-11')返回 1994-09-11 00:00:00.000select dateadd(mm,45,'19原创 2014-04-10 11:32:31 · 734 阅读 · 0 评论 -
SQL2008数学函数
函数名称 参数 示例 说明abs(数值表达式)select abs(-23.4)返回 23.4返回指定数值表达式的绝对值(正值)pi无参数select pi()返回 3.14159265358979返回π的值cos(浮点表达式)select cos(pi()/3)返回 0.5返回指定弧度的余弦值sin(原创 2014-04-10 11:33:07 · 558 阅读 · 0 评论 -
四种SQL分页语句
declare @pagesize int =10 declare @pageindex int =3--------------------rownum------------(强烈推荐)declare @start int =(@pageindex-1)*@pagesize+1declare @end int =@pageindex* @pagesizeselect * f转载 2014-04-10 11:38:20 · 642 阅读 · 0 评论 -
SQL2008系统函数
newid无参数select newid()返回 2E6861EF-F4DB-4FFE-85EA-638242F2E5F2select newid()返回 09BBDE6F-47C2-4E2E-81E8-AFC50592280C返回一个GUID(全局唯一表示符)值isnumeric(任意表达式)select isnumeric(111原创 2014-04-10 11:34:55 · 472 阅读 · 0 评论 -
SQL2008聚合函数
聚合函数聚合函数对一组值执行计算,并返回单个值。除了 COUNT 以外,聚合函数都会忽略空值。聚合函数经常与 SELECT 语句的 GROUP BY 子句一起使用。聚合函数的常用使用格式:函数名([all|distinct] 表达式)all:默认值,对所有的值进行聚合函数运算包含重复值。distinct: 消除重复值后进行聚合函数运算。avg原创 2014-04-10 11:36:10 · 1152 阅读 · 0 评论 -
SQL分页
方法一:-----------------查询10条数据,并增加排序id--------------select top 10 ROW_NUMBER() over (order by fileid desc )as num,* from [Samdps_Test].[dbo].[UT_DealerSource] ---------------- 在上面查询的10条数原创 2014-06-23 10:18:00 · 377 阅读 · 0 评论 -
SQL事务,只要有一条更新语句受影响行数为0则rollback
两条更新语句只要其中一条影响的行数为0,则回滚create PROCEDURE [dbo].[UpdateCompanyInfoBy_Sam] @Client varchar(20), @Code varchar(20), @CompanyName nvarchar(50), @Address nvarchar(100), @Tel varchar(15), @Pe原创 2013-06-14 16:41:45 · 5724 阅读 · 0 评论 -
SQL Server执行计划的理解
要理解执行计划,怎么也得先理解,那各种各样的名词吧。鉴于自己还不是很了解。本文打算作为只写懂的,不懂的懂了才写。 在开头要先说明,第一次看执行计划要注意,SQL Server的执行计划是从右向左看的。 名词解析:扫描:逐行遍历数据。 先建立一张表,并给大家看看大概是什么样子的。 CREATETABLE Person( Id intID转载 2015-08-12 21:02:25 · 387 阅读 · 0 评论 -
SQL行转列
IF OBJECT_ID('[tb]') IS NOT NULLDROP TABLE [tb]GOcreate table tb( 姓名 varchar(10) , 课程 varchar(10) , 分数 int)--------测试数据---------insert into tb values('张三' , '语文' , 74)insert into转载 2015-08-12 21:03:45 · 426 阅读 · 0 评论 -
SQL自定义函数,验证两条数据的相似度
CREATE FUNCTION F_strcompare(@str1 VARCHAR(8000), @str2 VARCHAR(8000))RETURNS VARCHAR(10)AS BEGIN DECLARE @i INT, @j INT,转载 2015-08-12 21:04:55 · 3046 阅读 · 0 评论 -
In ,not In 或 Exists ,not Exists 的用法
我的观点是存在即合理,我认为只有在IN里面是固定值的时候才可以用IN和NOT IN,正确写法:SELECT [FirstName] ,[MiddleName] ,[LastName] FROM [AdventureWorks].[Person].[Contact] WHERE ContactID IN (25,33)in()条件里是固定数值。转载 2014-04-10 11:29:24 · 586 阅读 · 0 评论 -
SQL2008数据类型转换
定义和用法CONVERT() 函数是把日期转换为新数据类型的通用函数。CONVERT() 函数可以用不同的格式显示日期/时间数据。语法CONVERT(data_type(length),data_to_be_converted,style)data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转转载 2014-04-10 11:33:36 · 1405 阅读 · 0 评论 -
联合查询Union,Intersect,Except用法
Union AUB的关系,当两个表数据集相同时,只保留一个---UNION VALUES ('A'), ('A'), ('B'), ('B'), ('C') UNION VALUES ('A'), ('B'), ('B'), ('D'), ('E') ---结果: A B C D E Union原创 2014-04-10 11:30:43 · 1049 阅读 · 0 评论 -
C#连接MySQL引用命名空间
C#连接MySQL数据库需要引用MySql.Data.dll 或者MySql.Web.dll 初学者会因为找不到这2个dll而烦恼,实际上在安装MySQL的同时也安装了这两个文件。 1.首先找到安装目录 我是安装在D:\Program Files\MySQL2.找到双击3.找到双击 4.找到 5.找到MySql.Data.dll 引用到项目中原创 2012-08-30 15:59:26 · 14176 阅读 · 1 评论 -
SQL查询重复数据
有例表:empemp_no name age 001 Tom 17 002 Sun 14 003 Tom 15 004 Tom 16要求:列出所有名字重复的人的记录(1)最转载 2013-02-20 16:18:28 · 704 阅读 · 0 评论 -
SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 I转载 2013-03-18 16:53:42 · 387 阅读 · 0 评论 -
跨服务器操作SQL语句
--连接远程/局域网数据(openrowset) --1、openrowset--查询示例 select * from openrowset( 'SQLOLEDB', 'sql服务器名 '; '用户名 '; '密码',数据库名.dbo.表名)--生成本地表 select * into 表 from openrowset( 'SQLOLEDB ', 'sql服务器名转载 2013-04-09 11:19:35 · 715 阅读 · 0 评论 -
SQL模糊查询整理
在模糊查询有四种通配符分别为:1.“_” 通配符代表单个字符 select * from student where name like '张_' 只能查出两个字的名字2."%" 通配符代表0至多个字符 select * from student where name like '张%'可以查询两个字以上的名字3."[]" 通配符代表括号范围内的原创 2013-06-15 08:20:47 · 576 阅读 · 0 评论 -
数据库
把SQL查出来的三行数据,合并到一行:stuff(select ',' + fieldname from tablename for xml path('')),1,1,'')这一整句的作用是将多行fieldname字段的内容串联起来,用逗号分隔。例如表fieldname-----------AAABBBCCC串联之后就是字符串: AAA,BBB,CCCfor xml pat原创 2013-07-26 16:50:01 · 1251 阅读 · 0 评论 -
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDataso
查询相关资料,找到解决方法: 启用Ad Hoc Distributed Queries:exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure----------------------------原创 2014-04-30 17:24:51 · 2147 阅读 · 0 评论 -
删除重复数据思路
1.在操作数据库的时候往往会出现一条数据重复出现多次,而且没有唯一标识的情况下该如何删除重复数据呢?解决方案: 先用distinct 查出所有不重复的数据,然后存入到一个临时表中,删除现有表的所以数据,把临时表数据导入。select distinct * into #tmp from emp delete from emp原创 2014-04-30 17:25:56 · 401 阅读 · 0 评论 -
判断存储过程是否存在
Sql 判断存储过程是否存在的方法库是否存在if exists(select * from master..sysdatabases wherename=N'库名')print 'exists'elseprint 'not exists'----------------- 判断要创建的表名是否存在if exists (select * from dbo.sy原创 2014-04-30 17:27:49 · 6218 阅读 · 0 评论 -
SQL给字符串补0
第二种方法:使用REPLICATE函数,将字串值重复指定的次数。例如: REPLICATE('重复',3) 输出结果为:重复重复重复 【 值得注意的是当 integer_expression 值为负值,则返回NULL 】因此,补0操作可如下实现:SELECT REPLICATE('0',5-len('9'))+'9' --左边补0, 如 00009S原创 2014-04-30 17:28:20 · 9771 阅读 · 0 评论 -
SQL2008排名函数
排名函数的常用使用格式:函数名() over (order by 列名 [asc|desc][,列名……])注意:返回结果集会根据使用排名函数时指定的列进行排序,因此不要在 from 子句后面再次使用 order by,会导致排名混乱。row_number无参数select roductID,[Name],ListPrice, row_number() ov原创 2014-04-10 11:35:36 · 1326 阅读 · 0 评论