第四章——数据查询基础
查询
select 列名1,列名2…from 表名 where 条件
别名
1)别名 = 列名
2)列名 as 别名
3)列名 别名
常量列
列名 = 值
排序
select * from [表名] order by 列1 ,列2…
顺序:asc升序desc降序不写默认就是asc
含义:先按列1升序,如果列1的值相同,按列2升序
限制返回行数
select top 限制列名 from [表名]
限制:
- 数字:多少行
- 数字 percent:百分之多少
通过返回的百分比可以计算出整个表有多少条数据
字符串函数
Stuff:在一个字符串中,删除指定长度的字符,并在该位置插入一个新的字符串
STUFF ( 字符串, 开始下标 , 长度 ,要插入的新的字符串 )
例如:SELECT STUFF('ABCDEFG', 2, 3, '我的音乐我的世界')
返回:A我的音乐我的世界EFG
REPLACE:替换一个字符串中的字符
REPLACE(字符串,查找的字符,替换的字符)
例如:select replace(‘莫乐可切.杨可’,‘可’,‘兰’)
返回:莫乐兰切.杨兰
日期函数
GETDATE取得当前的系统日期
例如:SELECT GETDATE()
返回:系统当前时间
DATEADD将指定的数值添加到指定的日期部分后的日期
DATEADD(datepart, number, date)
datepart指定要与数值相加的日期部分的参数。
Number用于与datepart相加的值
Date日期
例如:SELECT DATEADD(mm,4,'2009-01-01')
返回:以当前的日期格式返回2009-05-01
DATEDIFF函数两个日期之间的指定日期部分的间隔
DATEDIFF ( datepart , startdate , enddate )
datepart指定要与数值相加的日期部分的参数。
startdate日期
enddate日期
enddate减去startdate因此可能会返回负数
例如:SELECT DATEDIFF(mm, ‘01/01/2009’, ‘05/01/2009’)
返回:4
数学函数*
CEILING:向上取整,取大于或等于指定数值、表达式的最小整数
例如:
CEILING(123.74)返回 124
CEILING(-124.27)返回 -124
FLOOR:向下取整取小于或等于指定表达式的最大整数
例如:
FLOOR(123.45)返回123
FLOOR(-123.45)返回-124
系统函数*
CONVERT:转换数据类型
SELECT CONVERT (VARCHAR (5),12345)