Sql Server
songziling
这个作者很懒,什么都没留下…
展开
-
从表中选出前n条数据
<br />今天写了一个存储过程,是从表中选取前n条数据。然而却出现了一些Bug,原来是在引用参数的时候没有加括号?!唉!<br />记住这个错误吧!<br />create proc test<br />@i int <br />as<br />select top (@i) * from sc<br />go <br /> <br />看,多简单的一个问题啊!原创 2011-05-09 13:24:00 · 332 阅读 · 0 评论 -
sql server日期格式转换方法大全
SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select getdate() 2004-09-12 11:06:08.177整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08select replace(replace(replace(CONVERT(varchar, getdat转载 2011-05-04 15:17:00 · 735 阅读 · 0 评论 -
存储过程基础知识
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。那为什么要用存储过程呢?1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时,可将此复杂操作用存储过原创 2011-06-17 09:07:00 · 580 阅读 · 0 评论 -
SQL常用字符串函数
<br />SQL常用字符串函数<br /><br />一、字符转换函数<br />1、ASCII()<br />返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。<br />2、CHAR()<br />将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。<br />3、LOWER()和UPPER()<br />LOWER()将字符串全部转为小写;转载 2011-03-31 13:59:00 · 388 阅读 · 1 评论 -
一个项目涉及到的50个Sql语句(整理版)
问题及描述:--1.学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# 教师编号,Tname 教师姓名--4.成绩表 SC(S#,C#,score) --S# 学生编号,C# 课程编号,score 分数*/--创建测试数据createtable转载 2011-03-29 15:11:00 · 273 阅读 · 0 评论 -
深入讲解SQL Union和Union All的使用方法
<br /> UNION指令的目的是将两个SQL语句的结果合并起来。从这个角度来看, 我们会产生这样的感觉,UNION跟JOIN似乎有些许类似,因为这两个指令都可以由多个表格中撷取资料。 UNION的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。 union只是将两个结果联结起来一起显示,并不是联结两个表 <br /><br /> UNION 的语法如下: [SQL 语句 1转载 2011-03-30 13:40:00 · 312 阅读 · 0 评论 -
一个项目涉及到的50个Sql语句(整理版) (2)
18、查询各科成绩最高和最低的分:以如下形式显示:课程ID,最高分,最低分 SELECT L.C# As 课程ID,L.score AS 最高分,R.score AS 最低分 FROM SC L ,SC AS R WHERE L.C# = R.C# and L.score = (SELECTMAX(IL.score) FROM SC AS IL,Student AS IM WHERE转载 2011-03-29 15:14:00 · 511 阅读 · 1 评论 -
sqlserver获取第n行数据
<br />如何在一个没有主键的表中获取第n行数据,在sql2005中可以用row_number,但是必须指定排序列,否则你就不得不用select into来过渡到临时表并增加一个排序字段。 <br />用游标的fetch absolute语句可以获取绝对行数下的某行数据,测试代码如下:<br />set nocount on<br />--建立测试环境并插入数据,并且表没有主键<br />create table test(id int ,name varchar(10))<br />insert in转载 2011-05-09 10:19:00 · 1634 阅读 · 0 评论 -
SqlServer 数据库行转列的sql语句
<br />问题描述<br />假设有张学生成绩表(CJ)如下<br />Name Subject Result<br />张三 语文 80<br />张三 数学 90<br />张三 物理 85<br />李四 语文 85<br />李四 数学 92<br />李四 物理 82<br /><br />现在 想写 sql 语句 查询后结果 为 <br />姓名 语文 数学 物理<br />张三 80 90 85<br />李四 85 92 82 该怎么实现 ?<br />研究意义<转载 2011-05-09 09:34:00 · 529 阅读 · 0 评论 -
存储过程小知识1
众所周知,使用Exec来进行存储过程,其实Exec不但可以执行存储过程,还可以执行sql语句。例如:假设有一张表sc,我们查询它的所有信息,这里使用存储过程,为了说明以上问题。create proc test1_procasdeclare @str v原创 2011-09-06 10:47:16 · 322 阅读 · 1 评论