音效素材网提供各类素材,打造精品素材网站!

站内导航 站长工具 投稿中心 手机访问

音效素材

SQL语句(T-SQL汇总) 用T-SQL画出这些图形
日期:2012-07-27 08:35:59   来源:脚本之家

我个人感觉数据库这方面对于程序员来说很重要,无论是对于JAVA程序员还是DOTNET程序员以及其他编程人员来说都是必须掌握的。为了帮助大家更好的来回顾T-SQL,本人利用空闲的时间整理的一下T-SQL的语句和语法。希望对大家有用!

好的!我们先来看几个图像:

棱形三角形正方形圆形梯形

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

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

函数

abs(x):求绝对值

例:    select abs(-3)   值为:3

sqrt(x)求平方根

例:    select sqrt(4)    值为:2.0

rand([0])返回0~1之间的随机float

floor(X):返回小于或等于X值的最大整数

例:    select floor(34.5)   值为:34

ceiling(X):返回大于或等于X值的最小整数;

例:    select ceiling(34.5)  值为:35

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

例:    select ROUND(63.567, 1)     值为:63.600      select ROUND(63.567, -1)    值为:60.000      select ROUND(63.567, 0)     值为:64.000      select ROUND(63.567, -3)    值为:0.000

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

例:     select sign(-3)     值为:-1       select sign(3)       值为:1       select sign(0)      值为:0

Power(X,y):求X的y次方;

例:    select power(4,2)   值为 :16

 

字符串函数

ASCII(串):返回字符表达式最左端字符的ASCII 码值;

例:    select ASCII('bc')   值为:98

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

例:    select char(97)   值为:a

Lower(串):把字符串全部转换为小写;    

例:    select lower('QingPingGuo')   值为: qingpingguo

Upper(串) :把字符串全部转换为大写;

例:    select upper('QingPingGuo')   值为: QINGPINGGUO

LTrim(串), RTrim(串):去掉左右空格;

 例(去左空格):  select '博客园'+LTrim(' 青苹果 ')+'博客园'   值为:博客园青苹果 博客园

space(个数):返回指定个数的空格;

replicate(,次数):将串重复指定次数;

例:    select replicate('青苹果',2)    值为:青苹果青苹果

Left(, 个数):返回已知串从左边开始指定个数的字符;

例:    select left('青苹果在博客园', 4)    值为:青苹果在

Right(, 个数):返回已知串从右边开始指定个数的字符; 

例:    select right('青苹果在博客园', 4)    值为:在博客园

DataLength(串):返回串的字节数长度,计算串尾空格。可以用它检查varchar,text等的动态长度;

例:    select datalength('青苹果在博客园')    值为:14

SubString(串, 开始位置, 长度):返回从字符串左边'开始位置'起数量为'长度'的字符串。其中表达式可以是字符串或二进制串或含字段名或字符型变量的表达式。在这里要注意一下SUBSTRING()函数不能用于TEXT 和IMAGE 数据类型;

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

Len(串) :返回表达式的长度。注意它返回的是字符数,而不是字节数。不计算串尾空格;

例:    select len('青苹果cnblogs ')      值为:10

Replace('1','2','3'):用串3替换串1中出现的所有串2字符;

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

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

例:    select stuff('青苹果是程序猿吗?',5,3,'攻城狮')    值为:青苹果是攻城狮吗?

reverse(串) :将指定的字符串的字符排列顺序颠倒;

例:    select reverse('12345')    值为:54321

charindex(串1,串2):返回串1在串2的开始位置,可从所给出的‘开始位置'进行查找;

例:    select charindex('guo','qingpingguo')    值为:9

转换函数

所谓转换函数就是把某种数据类型转换的表达式显示转换成另一种数据类型的函数。
CAST(表达式 AS 数据类型[(长度)])

例:  select '今天是:' + Cast(GetDate() as char(10))  值为:今天是:07 23 2012

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

例:  select '今天是:' +convert(char(10),getdate()) 值为:今天是:07 23 2012

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

DATEDIFF(datepart,date1,date2)

例:  select datediff(yy,'1988.09.14','2012.12.21')  值为:24    select datediff(mm,'1988.09.14','2012.12.21')  值为:291
聚合函数

聚合函数也就是统计函数,它主要是对一组值进行计算,它的功能分别是:求和(sum)、求最小(min)、求最大(max)、求总行数(count)、求平均值(avg)

例:   求和:select sum(Name) from TableName   求最小:select min(Name) from TableName   求最大:select max(Name) from TableName   求总数:select count(Name) from TableName   求平均:select avg(Name) from TableName
T-SQL的一些关键字

Print  向客户端返回用户信息

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

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

Distinct   掉重复值

Declare    用来声明变量

例:  declare @a int

Set    为变量赋值

例:  set @a='青苹果'

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

语法:    WHILE <条件表达式> BEGIN <命令行或程序块> [BREAK] [CONTINUE] [命令行或程序块] END

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

declare @a intset @a=1while @a<5begin print '青苹果'set @a=@a+1end

输出结果:青苹果
     青苹果
     青苹果
     青苹果

if else    判断语句

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

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

declare @a int,@b int,@c int,@max intset @a=1 set @b=2 set @c=3 if @a>@b set @max=@aelse set @max=@bif @max<@c set @max=@c print @max

输出结果:3

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

Exists     判断是否存在

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

 CASE <运算式>    WHEN <运算式1> THEN <结果1>WHEN<运算式n> THEN <结果n> [ELSE <结果n+1>] END

 Return   用于结束当前程序的执行,返回到上一个调用它的程序或其它程序。在括号内可指定一个返回值。

Goto标示符  用来改变程序执行的流程,使程序跳到标有标识符的指定的程序行再继续往下执行。要注意的是作为跳转目标的标识符可为数字与字符的组合,但必须以“:”结尾,如:“1023:” “qingpingguo:”

例子: declare @a int   set @a = 1      qingpignguo:      print @a   set @a = @a + 1   while @a < 6     goto qingpignguo

输出结果:12345

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

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

语法:  waitfor {delay '时间'|time '时间'}

解释:

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

(2)DELAY:用来设定等待的时间长短,最多为24小时。(是一个时间间隔)

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

例子: waitfor delay '00:00:03'   print '你好,我是青苹果'   go

以上就是T-SQL的所有内容了,接下来我们来利用最后的时间画几个图形:

直角三角形:

declare @a int set @a=1while(@a<11)beginprint replace(space(@a),' ','*')set @a=@a+1end

直角三角形 输出结果:

 

正方形:

declare @a intdeclare @b intdeclare @c nvarchar(100)set @a=1set @b=1set @c=''while (@a<9)begin while (@b<15) begin set @c=@c+'*' set @b=@b+1 end print @c set @a=@a+1end

 

正方形 输出结果:

 

菱形:

declare @a int,@b intset @a=1 set @b=15if(@b%2!=1)print '数字必须都是奇数'elsewhile(@a<=@b)beginif(@a%2=1)print space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)set @a=@a+1endset @a=@a-2while (@a<=@b)beginif(@a%2=1)print space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)set @a=@a-1 if (@a<0)breakend

菱形 输出结果:

 

梯形:

declare @a int,@b intset @a=7 set @b=21if(@a%2=1)while(@a<@b)beginprint space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)set @a=@a+2end

梯形 输出结果:

 

矩形:

declare @a intdeclare @b intdeclare @c nvarchar(100)set @a=1set @b=1set @c=''while (@a<9)begin while (@b<23) begin set @c=@c+'*' set @b=@b+1 end print @c set @a=@a+1end

矩形 输出结果:

 

圆形:

declare @a int,@b intset @a=9 set @b=13while (@a<=@b)beginif(@a%2=1)print space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)set @a=@a+1endset @a=@a-1beginprint space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)endwhile (@a<=@b)beginif(@a%2=1)print space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)set @a=@a-1if(@a<10)breakendset @a=@a-2beginprint space((@b-@a)/2)+replace(space(@a),' ','*')+space((@b-@a)/2)end

圆形输出结果:

The End! 以上就是本文的所有内容,可能写的不够全面,有不足的地方希望大家多多补充,多多发表意见!谢谢!
作者:青苹果

    您感兴趣的教程

    在docker中安装mysql详解

    本篇文章主要介绍了在docker中安装mysql详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编...

    详解 安装 docker mysql

    win10中文输入法仅在桌面显示怎么办?

    win10中文输入法仅在桌面显示怎么办?

    win10系统使用搜狗,QQ输入法只有在显示桌面的时候才出来,在使用其他程序输入框里面却只能输入字母数字,win10中...

    win10 中文输入法

    一分钟掌握linux系统目录结构

    这篇文章主要介绍了linux系统目录结构,通过结构图和多张表格了解linux系统目录结构,感兴趣的小伙伴们可以参考一...

    结构 目录 系统 linux

    PHP程序员玩转Linux系列 Linux和Windows安装

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,Linux和Windows安装nginx教程,具有一定的参考价值,感兴趣...

    玩转 程序员 安装 系列 PHP

    win10怎么安装杜比音效Doby V4.1 win10安装杜

    第四代杜比®家庭影院®技术包含了一整套协同工作的技术,让PC 发出清晰的环绕声同时第四代杜比家庭影院技术...

    win10杜比音效

    纯CSS实现iOS风格打开关闭选择框功能

    这篇文章主要介绍了纯CSS实现iOS风格打开关闭选择框,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作...

    css ios c

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的办法

    Win7如何给C盘扩容 Win7系统电脑C盘扩容的

    Win7给电脑C盘扩容的办法大家知道吗?当系统分区C盘空间不足时,就需要给它扩容了,如果不管,C盘没有足够的空间...

    Win7 C盘 扩容

    百度推广竞品词的投放策略

    SEM是基于关键词搜索的营销活动。作为推广人员,我们所做的工作,就是打理成千上万的关键词,关注它们的质量度...

    百度推广 竞品词

    Visual Studio Code(vscode) git的使用教程

    这篇文章主要介绍了详解Visual Studio Code(vscode) git的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...

    教程 Studio Visual Code git

    七牛云储存创始人分享七牛的创立故事与

    这篇文章主要介绍了七牛云储存创始人分享七牛的创立故事与对Go语言的应用,七牛选用Go语言这门新兴的编程语言进行...

    七牛 Go语言

    Win10预览版Mobile 10547即将发布 9月19日上午

    微软副总裁Gabriel Aul的Twitter透露了 Win10 Mobile预览版10536即将发布,他表示该版本已进入内部慢速版阶段,发布时间目...

    Win10 预览版

    HTML标签meta总结,HTML5 head meta 属性整理

    移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析HTML代码,更好地将移动web前端页面表现出来...

    移动端html5模拟长按事件的实现方法

    这篇文章主要介绍了移动端html5模拟长按事件的实现方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家...

    移动端 html5 长按

    HTML常用meta大全(推荐)

    这篇文章主要介绍了HTML常用meta大全(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参...

    cdr怎么把图片转换成位图? cdr图片转换为位图的教程

    cdr怎么把图片转换成位图? cdr图片转换为

    cdr怎么把图片转换成位图?cdr中插入的图片想要转换成位图,该怎么转换呢?下面我们就来看看cdr图片转换为位图的...

    cdr 图片 位图

    win10系统怎么录屏?win10系统自带录屏详细教程

    win10系统怎么录屏?win10系统自带录屏详细

    当我们是使用win10系统的时候,想要录制电脑上的画面,这时候有人会想到下个第三方软件,其实可以用电脑上的自带...

    win10 系统自带录屏 详细教程

    + 更多教程 +
    MsSqlMysqloracleMariaDBSQLiteDB2