-- 使用 select语句进行查询《按查询的列名显示,有条件限制就只显示条件部分》
语法:
select 列名 from 表名 【where 查询的条件表达式】 【order by 列名 】
*** 其中where 条件是可选的,若不限制,则查询返回所有行的数据项。
*** order by 是用来排序的
-- 基本查询的不同情况:
** 查询所有的数据行和列《*代表所有的列》
select * from 表名
** 查询部分行或列《查询部分的行需要使用where来进行条件限制》
select 列名,列名,列名,.....
from 表名
where 条件表达式《列名=‘条件’》
用来查询是条件的信息不显示:
select 列名,列名,列名,....
from 表名
where 条件表达式《列名<>'条件'》《<>是查询不是这个条件的信息》
** 在查询中使用列的别名:
-- AS 子句可以用来改变结果集中列的名称,页可以为组合或者计算出的列指定名称。
select 列名 as 自定义名称,列名 as 自定义名称,.....
from 表名
where 条件表达式《列名<>'条件'》
-- 使用计算、合并得到新列的命名。《合并了的列值也在一起显示,列的类型要相同》
select 列名+'.'+列名 as 自定义名称
from 表名
另一种方法:使用“=”来命名
select 自定义名称=列名+‘.’+列名
from 表名
** 查询空值:
采用 SQL 语句 ‘is null’或‘ is not null ’ 来判断是否为空。
select 列名 from 表名 where 列名 is null
** 在查询中使用常量列:
select 自定义名称=列名,自定义列名=名称,【'统一显示的值' as 统一显示值的列名】这是查询结果多出来的一列
from 表名
** 查询返回限制的行数:
-- 限制行数使用 top 关键字来约束。
select top 值 列名,列名,....
from 表名
where 条件表达式《列名=‘条件’》
-- 按百分比提取记录,使用 percent 关键字来约束限制:
例:显示20%。
select top 20 percent 列名,列名
from 表名 where 条件表达式《列名=‘条件’》
-- 查询排序:
如何使用 order by :升序(ASC)、降序(DESC)
默认是ASC
语法:
ORDER BY _column1, _column2 DESC; 《_column1升序,_column2降序 》
ORDER BY _column1 DESC, _column2 ; 《_column1降序,_column2升序 》
-- 增加列
alter table 表名 add 列名 数据类型
例:
alter table Card add XingLie varchar(50)
-- 修改列的类型
alter table 表名 alter column 列名 类型
例:
alter table Card alter column XIngLie char(10)
--修改列的名称
exec sp_rename '表名1.列名1','列名2'《把表名1中的列名1改为列名2》
例:
exec sp_rename 'Card.Er','LieXing'
-- 删除列名
alter table 表名 drop column 列名
例:
alter table Card drop column LieXing
函数:
-- 在查询中使用函数:4类函数(字符串函数、日期函数、数字函数、系统函数)
*** 字符串函数:字符串函数用于对字符串数据进行处理,并返回一个字符串或数字。
语法:
charindex
用来寻找一个指定的字符串在另一个字符串中的起始位置
例:
select charindex('name','my name is Tom',1)
返回:4
len
返回传递给它的字符串长度
例:
select len('SQL Server 课程')
返回:2
upper
把传递给它的字符串转换为大写
例:
select upper('sql server 课程')
返回:SQL SERVER 课程
ltrim
清除字符左边的空格
例:
select ltrim('唐竟')
返回:唐竟 (后面的空格保留)
rtrim
清除字符右边的空格
例:
select rtrim('唐竟')
返回:唐竟(前面的空格保留)
right
从字符串右边返回指定数目的字符
例:
select right('买卖媞。吐尔松',3)
返回:吐尔松
replace
替换一个字符串中的字符 <里面有三个参数>
例:
select replace('莫乐可切,杨可','可','兰') 返回:莫乐兰切.杨兰
stuff
在一个字符串中,删除指定长度的字符,并在改位置插入一个新的字符串
例:
select stuff(ABCDEFG,2,3,我的音乐我的世界)
返回:A我的音乐我的世界EFG
*** 日期函数: 日期函数用于操作日期值,我们不能直接对日期运用数字函数。
语法:
getdate
取得当前的系统日期
例:
select getdate()
返回:今天的日期
dateadd
将指定的数值添加到指定的日期部分后的日期
例:
select dateadd(mm,4,'2016-01-01')
返回:以前的日期格式返回05/01/2009
select dateadd(week,1,getdate())
返回: 当前日期加一周后的日期
-- yy(year):表示年份
-- mm(month):表示月份
-- dd(day)表示天数
-- ww、wk(week): 周
-- hh(hour):时
-- mi、n(minute):分
-- ss、s(second):秒
datediff
两个日期之间的指定日期部分的间隔
例:
select datediff(mm,'2016-01-01','2016-05-01')
返回:4
datename
日期指定日期部分的字符串形式
例:
select datename(dw,'01/01/2000')
返回:SAturday 或星期六
datepart
日期中指定日期部分的整数形式
例:
select datepart(day,'01/15/2000')
返回:15
*** 数字函数:数字函数用于对数字型数据进行处理,并返回处理结果。
语法:
rand
返回从0到1之间的随机float值
例:select rand()
ABS
取数值表达式的绝对值
例:select ABS(-6)
<1.一个正数的绝对值是它本身
2.一个负数的绝对值是它相反的数
>
ceiling
向上取整,取大于或等于指定数值、表达式的最小整数
例: select ceiling(43.5)
返回:44
floor
向上取整,到小于或等于指定表达式的最大整数
例: select floor(43.5)
返回:43
power
取数值表达式的幂值《两个参数》
例: select power(5,2)
返回:25《2个5等于25》
round
将数值表达式四舍五入为指定精度《两个参数》
例: select round(43.5432,1)
返回:43.5《43.5432四舍五入后,保留一位小数》
sign
对于正数返回 +1,对于负数返回 -1 ,对于0则返回0.
例: select sign(-43)
返回:-1
sqrt
取浮点表达式的平方根
例: select sqrt(9)
返回:3
*** 系统函数:获取有关 SQL Server 中对象和设置的系统信息
convert
用来转变数据类型
例:select convert(verchar(4),'你好')
返回:你好
《varchar类型汉字占两个字节,数字字母占一个字节》
《nvarchar类型汉字数字字母都占一个字节》
current_user
返回当前用户的名字
例: select current_user
datalength
返回用于指定表达式的字节数
例: select datalength('中国A联盟')
返回:9
《汉字占两个字节,数字字母占一个字节》
host_name
返回当前用户所登录的计算机名字
例: select host_name()
返回:当前用户所登录的计算机名字
system_user
返回当前所登录的用户名称
例: select system_user
返回:数据库所登录的用户名称
user_name
从给定的用户ID返回用户名
例:select user_name(1)
sql server 条件查询如果列为某一值显示 不为某一值显示 sql server条件查询语句
转载文章标签 sql server 语句查询 sql server函数 表名 字符串 自定义 文章分类 SQL Server 数据库
-
SQL server无条件查询 sql server 条件查询
SQL Server条件查询
SQL server无条件查询 SQL Server 数据库 SQL Server -
sql server 设置列不为空 sql不显示某一列
背景以及场景我们知道SQL中有一个非常便利的操作: SELECT *FROM TABLE_NAME 这样可以选择出表中所有的列,而不用一个个列出来。虽然这个从性能角度是有很大问题的,但是架不住它方便,所以被广泛使用。以及延展的快速加个新列都很方便: SELECT *, 1 AS new_columnFROM TABLE_NAME 但是,无论在SQL标准中,还是在绝大多数数据库中
sql server 设置列不为空 sql 多列join sql 新增加一列序号 sql将一列拆分为多列 SQL