sql

建立索引常用的规则

1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行...

SQL按指定ID的顺序排序显示

平时工作中,可能会手工指定一序列的ID,一般做法都是用in(id),但是查询出来的数据无法按自己写入的id值排序。一般写入是按1,2,3,5这样的格式。如果想排序时按照4,1,3,5这样的顺序排列的话,需要进行一下处理,网上查到这个方法还不错。orderbycharindex(','+convert(varchar,i...

SQL 获取本月第一天,上月第一天

SELECTDATEADD(mm,DATEDIFF(m,0,GETDATE())-1,0)AS'上月第一天',DATEADD(ms,-3,DATEADD(mm,DATEDIFF(m,0,GETDATE()),0))AS'上月最后一天',DATEADD(mm,DATEDIFF(m,0,GETDATE()),0)AS'本月...

SQL人民币小写金额转大写

createfunction[dbo].[fn_getformatmoney](@moneynumeric(14,2))returnsnvarchar(32)asbegindeclare@money_numnvarchar(20)--存储金额的字符形式,@money_chnnvarchar(32)--存储金额的中文大写...

无法绑定由多个部分组成的标识符

出现“无法绑定由多个部分组成的标识符”的错误,大部分是因为漏写表名或者在子查询外使用子查询内定义的别名。检查一下SQL语句,看是否在查询条件里的别名漏掉了。...

SQL语句统计每天、每月、每年的 数据

1、每年selectyear(ordertime)年,sum(Total)销售合计from订单表groupbyyear(ordertime)2、每月selectyear(ordertime)年,month(ordertime)月,sum(Total)销售合计from订单表groupbyyear(ordertime),m...

SQL判断时间相等

datediff(day,time1,time2)=0time1>time2为负数time1<time2为正数;day是比较天数,如果比较年、月、日、小时、分钟,可对应修改year,month,day,hour,second...
开发笔记 开发笔记·2022-01-07

有关SQL的一些常用语句

(1)数据记录筛选:sql="select*from数据表where字段名=字段值orderby字段名"sql="select*from数据表where字段名like‘%字段值%‘orderby字段名"sql="selecttop10*from数...

sql将文件大小转为字符串表示

casewhen(fSize/1024<1)then(convert(varchar(max),fSize)+'B')else(casewhen(fSize/1024/1024<1)then(convert(varchar(max),convert(decimal(10,2),convert(float,f...

全国省市区数据的sql代码

CREATETABLE`hat_area`(`areaID`int(11)NOTNULLAUTO_INCREMENTCOMMENT‘区域主键‘,`area`varchar(16)DEFAULTNULLCOMMENT‘区域名称‘,`area_code`varchar(128)DEFAULTNULLCOMMENT‘区域代码...

存储过程优缺点

优点:1.由于应用程序随着时间推移会不断更改,增删功能,T-SQL过程代码会变得更复杂,StoredProcedure为封装此代码提供了一个替换位置。2.执行计划(存储过程在首次运行时将被编译,这将产生一个执行计划--实际上是MicrosoftSQLServer为在存储过程中获取由T-SQL指定的结果而必须采取的步骤的...
代码星球 代码星球·2020-07-09

左连接 右连接 内连接的区别和联系

左连接和右连接    是以左边的表为基准。通俗的讲,先将左边的表全部显示出来,然后右边的表id与左边表id相同的记录就“拼接”上去,比如说id为1的记录。如果没有匹配的id,比如说t1中id为2的t2中就没有。那边就以null显示。右外连接过程正好相反。&...
代码星球 代码星球·2020-07-09

sql分组排序取top n

要求:按照课程分组,查找每个课程最高的两个成绩。数据文件如下:第一列no为学号,第二列course为课程,第三列score为分数mysql>select*fromlesson;+-------+---------+-------+|no|course|score|+-------+---------+------...
开发笔记 开发笔记·2020-04-09

什么是sql挂起 如何解决sql挂起

   什么是sql挂起?如何解决sql挂起呢?  sql挂起,官方给出的解释:挂起是电脑操作中的一种进程;比如某个程序安装时已在计算机上创建挂起的文件操作,运行安装程序之前必须重启计算机。  出现提示我们重新启动,但是重新启动多少次也都无济于事,下面以sqlserver2000为例为大家介...