来自 澳门威尼斯人注册网站 2019-12-04 16:28 的文章
当前位置: 澳门威尼斯人平台 > 澳门威尼斯人注册网站 > 正文

SQL server中的T-SQL语句

首先看下面一条比较完成语句,都是比较常见的关键字。

今天和大家一起来分享一下SQL语句,T-SQL的用法和语法,以及一些例子,目的是帮助大家一起来复习一下T-SQL的基本语句,以便在项目中更快速的运用,当然对于新手来说就更应该去学习和总结了。我个人感觉数据库这方面对于程序员来说很重要,无论是对于JAVA程序员还是DOTNET程序员以及其他编程人员来说都是必须掌握的。为了帮助大家更好的来回顾T-SQL,本人利用空闲的时间整理的一下T-SQL的语句和语法。希望对大家有用!

SQL语句所有子句逻辑处理顺序

首先点击新建查询

USE Temp;

SELECT empid, YEAR(orderdate) AS orderyear, COUNT(*) AS numorders
FROM Sales.Orders
WHERE custid = 71
GROUP BY empid, YEAR(orderdate)
HAVING COUNT(*) > 1
ORDER BY empid, orderyear;

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

FROM

如下图所示

我们来详细分析一下sql语句的逻辑处理顺序,虽然select在每条语句的第一位,但实际上它是被最后才处理的

棱形图片 1三角形图片 2正方形图片 3圆形图片 4矩形图片 5梯形图片 6

WHERE

图片 7

1.from  

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

GROUP BY

创建数据库:create database 数据库名称

2.where

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

HAVING

使用数据库:use 数据库名称

3.group by

- 函数

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;

图片 8)

例:    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

图片 9)

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

 

SELECT

创建表:create table 表名

4.having

- 字符串函数

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

 

表达式

5.select

- 转换函数

所谓转换函数就是把某种数据类型转换的表达式显示转换成另一种数据类型的函数。
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

DISTINCT

代码

6.order by

- 聚合函数

聚合函数也就是统计函数,它主要是对一组值进行计算,它的功能分别是:求和(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

ORDER BY

本文由澳门威尼斯人平台发布于澳门威尼斯人注册网站,转载请注明出处:SQL server中的T-SQL语句

关键词: