SQL语句TSQL的用法和语法.docx

上传人:b****3 文档编号:3676080 上传时间:2022-11-24 格式:DOCX 页数:13 大小:68.40KB
下载 相关 举报
SQL语句TSQL的用法和语法.docx_第1页
第1页 / 共13页
SQL语句TSQL的用法和语法.docx_第2页
第2页 / 共13页
SQL语句TSQL的用法和语法.docx_第3页
第3页 / 共13页
SQL语句TSQL的用法和语法.docx_第4页
第4页 / 共13页
SQL语句TSQL的用法和语法.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

SQL语句TSQL的用法和语法.docx

《SQL语句TSQL的用法和语法.docx》由会员分享,可在线阅读,更多相关《SQL语句TSQL的用法和语法.docx(13页珍藏版)》请在冰豆网上搜索。

SQL语句TSQL的用法和语法.docx

SQL语句TSQL的用法和语法

 T-SQL的基本语句,大部分人都很熟悉了,今天绿茶小编和大家一起来分享一下SQL语句,T-SQL的用法和语法,以及一些例子,目的是帮助大家一起来复习一下T-SQL的基本语句,以便在项目中更快速的运用,当然对于新手来说就更应该去学习和总结了。

我个人感觉数据库这方面对于程序员来说很重要,无论是对于JAVA程序员还是DOTNET程序员以及其他编程人员来说都是必须掌握的。

为了帮助大家更好的来回顾T-SQL,绿茶小编利用空闲的时间整理的一下T-SQL的语句和语法。

希望对大家有用!

MySQL数据库管理工具64Bit

MySQL数据库管理器32Bit

  好的!

我们先来看几个图像:

 

  棱形

 

  三角形

 

  正方形

 

  圆形

 

  矩形

 

  梯形

  上面这些图形都是用T-SQL实现的,文章的最后我们一起来用T-SQL画出这些图形。

首先,我们开始回顾一下T-SQL的基本语法:

  函数

  abs(x):

求绝对值;

  例:

   selectabs(-3)  值为:

3

  sqrt(x):

求平方根;

  例:

   selectsqrt(4)  值为:

2.0

  rand([0]):

返回0~1之间的随机float值;

  floor(X):

返回小于或等于X值的最大整数;

  例:

    selectfloor(34.5)  值为:

34

  ceiling(X):

返回大于或等于X值的最小整数;

  例:

    selectceiling(34.5)  值为:

35

  round(x,length):

四舍五入函数,length为正,则对X小数位数四舍五入,length为负,则对X从小数点左边length位起四舍五入,若length既为负数且其绝对值大于X整数部分数字个数,则函数值为0;

  例:

    selectROUND(63.567,1)   值为:

63.600

  selectROUND(63.567,-1)   值为:

60.000

  selectROUND(63.567,0)   值为:

64.000

  selectROUND(63.567,-3)  值为:

0.000

  Sign(X):

求符号函数,X>0则sign(x)=1;X=0则sign(X)=0;X<0则sign(X)=-1

  例:

     selectsign(-3)   值为:

-1

  selectsign(3)     值为:

1

  selectsign(0)    值为:

0

  Power(X,y):

求X的y次方;

  例:

    selectpower(4,2)  值为:

16

  字符串函数

  ASCII(串):

返回字符表达式最左端字符的ASCII码值;

  例:

    selectASCII('bc')  值为:

98

  CHAR(ASCII码):

用于将ASCII码转换为字符,如果没有输入0~255之间的ASCII码值,返回值为NULL;

  例:

    selectchar(97)  值为:

a

  Lower(串):

把字符串全部转换为小写;

  例:

    selectlower('QingPingGuo')  值为:

qingpingguo

  Upper(串):

把字符串全部转换为大写;

  例:

    selectupper('QingPingGuo')  值为:

QINGPINGGUO

  LTrim(串),RTrim(串):

去掉左右空格;

  例(去左空格):

  select'博客园'+LTrim('青苹果')+'博客园'  值为:

博客园青苹果博客园

  space(个数):

返回指定个数的空格;

  replicate(串,次数):

将串重复指定次数;

  例:

    selectreplicate('青苹果',2)    值为:

青苹果青苹果

  Left(串,个数):

返回已知串从左边开始指定个数的字符;

  例:

    selectleft('青苹果在博客园',4)    值为:

青苹果在

  Right(串,个数):

返回已知串从右边开始指定个数的字符;

  例:

    selectright('青苹果在博客园',4)    值为:

在博客园

  DataLength(串):

返回串的字节数长度,计算串尾空格。

可以用它检查varchar,text等的动态长度;

  例:

    selectdatalength('青苹果在博客园')    值为:

14

  SubString(串,开始位置,长度):

返回从字符串左边’开始位置’起数量为’长度’的字符串。

其中表达式可以是字符串或二进制串或含字段名或字符型变量的表达式。

在这里要注意一下SUBSTRING()函数不能用于TEXT和IMAGE数据类型;

  例:

    selectsubstring('青苹果在博客园',5,2)    值为:

博客

  Len(串):

返回表达式的长度。

注意它返回的是字符数,而不是字节数。

不计算串尾空格;

  例:

    selectlen('青苹果cnblogs')      值为:

10

  Replace('串1','串2','串3'):

用串3替换串1中出现的所有串2字符;

  例:

    selectreplace('青苹果在北京','北京','博客园')    值为:

青苹果在博客园

  Stuff(串1,开始位置,长度,串2):

删除串1指定位置开始指定长度的字符串,并在指定位置插入串2;

  例:

    selectstuff('青苹果是程序猿吗?

',5,3,'攻城狮')    值为:

青苹果是攻城狮吗?

  reverse(串):

将指定的字符串的字符排列顺序颠倒;

  例:

    selectreverse('12345')    值为:

54321

  charindex(串1,串2):

返回串1在串2的开始位置,可从所给出的‘开始位置’进行查找;

  例:

    selectcharindex('guo','qingpingguo')    值为:

9

  转换函数

  所谓转换函数就是把某种数据类型转换的表达式显示转换成另一种数据类型的函数。

  CAST(表达式AS数据类型[(长度)])

  例:

  select'今天是:

'+Cast(GetDate()aschar(10))  值为:

今天是:

07232012

  CONVERT(转换后的目标数据类型[(length)],表达式[style])

  例:

  select'今天是:

'+convert(char(10),getdate())值为:

今天是:

07232012

  下面来看一个求差值的函数datediff函数;

  DATEDIFF(datepart,date1,date2)

  例:

  selectdatediff(yy,'1988.09.14','2012.12.21')  值为:

24

  selectdatediff(mm,'1988.09.14','2012.12.21')  值为:

291

  聚合函数

  聚合函数也就是统计函数,它主要是对一组值进行计算,它的功能分别是:

求和(sum)、求最小(min)、求最大(max)、求总行数(count)、求平均值(avg)

  例:

  求和:

selectsum(Name)fromTableName

  求最小:

selectmin(Name)fromTableName

  求最大:

selectmax(Name)fromTableName

  求总数:

selectcount(Name)fromTableName

  求平均:

selectavg(Name)fromTableName

  T-SQL的一些关键字

  Print向客户端返回用户信息

  例:

  print'青苹果'屏幕上就会显示“青苹果三个字“

  Go用来通知SQL一批语句的结束

  Distinct去掉重复值

  Declare用来声明变量

  例:

  declare@aint

  Set为变量赋值

  例:

  set@a='青苹果'

  While在SQL中用来循环(好像在SQL中用来做循环的关键字不多)

  语法:

    WHILE<条件表达式>

  BEGIN

  <命令行或程序块>

  [BREAK]

  [CONTINUE]

  [命令行或程序块]

  END

  Whil比较重要,我们来做个例子加深一下对While循环的理解:

  declare@aint

  set@a=1

  while@a<5

  begin

  print'青苹果'

  set@a=@a+1

  end

  输出结果:

青苹果

  青苹果

  青苹果

  青苹果

  ifelse判断语句

  判断语句用的还是比较多的我们还是来做个例子说明一下;

  求:

a、b、c三个数的最大值?

  declare@aint,@bint,@cint,@maxint

  set@a=1set@b=2set@c=3

  if@a>@b

  set@max=@a

  else

  set@max=@b

  if@max<@c

  set@max=@c

  print@max

  输出结果:

3

  beginend用来设定一个程序块,将在BEGIN…END内的所有程序视为一个单元执行。

  Exists判断是否存在

  Case也是用来判断的,和IF语句差不多,它的格式为:

  CASE<运算式>

  WHEN<运算式1>THEN<结果1>

  …

  WHEN<运算式n>THEN<结果n>

  [ELSE<结果n+1>]

  END

  Return  用于结束当前程序的执行,返回到上一个调用它的程序或其它程序。

在括号内可指定一个返回值。

  Goto标示符用来改变程序执行的流程,使程序跳到标有标识符的指定的程序行再继续往下执行。

要注意的是作为跳转目标的标识符可为数字与字符的组合,但必须以“:

”结尾,如:

“1023:

”“qingpingguo:

  例子:

  declare@aint

  set@a=1

  qingpignguo:

  print@a

  set@a=@a+1

  while@a<6

  gotoqingpignguo

  输出结果:

12345

  最后一个给大家看个好玩的:

  Waitfor用来暂停程序执行,直到等待指定时间之后,或所设定的时间已到才继续往下运行程序。

  语法:

  waitfor{delay'时间'|time'时间'}

  解释:

  

(1)‘时间’必须为DATETIME类型数据,且不能包括日期,如‘10:

12:

05’

  

(2)DELAY:

用来设定等待的时间长短,最多为24小时。

(是一个时间间隔)

  (3)TIME:

用来设定等待结束的时间点(是一个具体的时间)

  例子:

  waitfordelay'00:

00:

03'

  print'你好,我是青苹果'

  go

  以上就是T-SQL的所有内容了。

接下来我们来利用最后的时间画几个图形:

  直角三角形:

  declare@aint

  set@a=1

  while(@a<11)

  begin

  printreplace(space(@a),'','*')

  set@a=@a+1

  end

  直角三角形输出结果:

  正方形:

  declare@aint

  declare@bint

  declare@cnvarchar(100)

  set@a=1

  set@b=1

  set@c=''

  while(@a<9)

  begin

  while(@b<15)

  begin

  set@c=@c+'*'

  set@b=@b+1

  end

  print@c

  set@a=@a+1

  end

  正方形输出结果:

  菱形:

  declare@aint,@bint

  set@a=1set@b=15

  if(@b%2!

=1)

  print'数字必须都是奇数'

  else

  while(@a<=@b)

  begin

  if(@a%2=1)

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  set@a=@a+1

  end

  set@a=@a-2

  while(@a<=@b)

  begin

  if(@a%2=1)

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  set@a=@a-1

  if(@a<0)

  break

  end

  菱形输出结果:

  梯形:

  declare@aint,@bint

  set@a=7set@b=21

  if(@a%2=1)

  while(@a<@b)

  begin

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  set@a=@a+2

  end

  梯形输出结果:

  矩形:

  declare@aint

  declare@bint

  declare@cnvarchar(100)

  set@a=1

  set@b=1

  set@c=''

  while(@a<9)

  begin

  while(@b<23)

  begin

  set@c=@c+'*'

  set@b=@b+1

  end

  print@c

  set@a=@a+1

  end

  矩形输出结果:

  圆形:

  declare@aint,@bint

  set@a=9set@b=13

  while(@a<=@b)

  begin

  if(@a%2=1)

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  set@a=@a+1

  end

  set@a=@a-1

  begin

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  end

  while(@a<=@b)

  begin

  if(@a%2=1)

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  set@a=@a-1

  if(@a<10)

  break

  end

  set@a=@a-2

  begin

  printspace((@b-@a)/2)+replace(space(@a),'','*')+space((@b-@a)/2)

  end

  圆形输出结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1