SQL语句(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('青苹果blogs ') 值为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
狼蚁网站SEO优化来看一个求差值的函数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
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! 以上就是本文的所有内容,可能写的不够全面,有不足的地方希望大家多多补充,多多发表意见!谢谢!
作者青苹果
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程