刚刚进入sql学习的笔记
-----------类型转换函数-----------------
select 100+200 1100
select 100+'1000' 1100
select '1000'+100 1100
print '1000'+100 1100
--cast(表达式 as 数据类型)
--convert(数据类型 ,表达式)
select 100.0+cast ('1000' as int)
select 100.0+convert(int,'1000')
select '班级人数'+convert(char(1),1)
select * from student order by convert (int,bid) desc
print convert (varchar(200),getdate(),120)
-----------联合结果集union(集合运算符)--------
--把多个结果集的行连接起来
select * from student
(列数必须相同,每列的数据类型也必须相同)
union all /union union和union all 的区别 union自动去除重复。
--大多数联合的时候不需要去除重复,同时哟啊白痴数据的顺序,所以一般建议用union all
select * from teacher
--连接 把多个结果集的列连接起来
--从表中统计每种商品的销售价格,并且在底部做汇总
select
商品名称,
sum(商品数量*销售价格)as 销售总价,
from myorders
group by 商品名称
union all
select '总销售价格',
sum(销售价格*销售数量)
from Myorders
order by 商品总价 asc
-----------------向表中插入多条记录--------------
--将student表备份到studentname1中
--studnetname1是执行语句后自动创建的表 表的结果和student一样 但是不含有约束 自动编号列存在
select * from student
select * into studentname1 from student
--值拷贝表结构 不拷贝数据
select top 0 * into studentname1 from student
--使用insert into表
select ...from 表名 select * from studentname1
insert into studentname1
select age,name,ID,sex,classID from student
-----常用的字符串函数-----
--1.len()
计算字符的个数
print len('Hi,最近好吗?')
--datalength()
返回所占用的字符节,这个不是字符串函数
print datalength('Hi,最近好吗?')
--13 print datalength(N'Hi,最近好吗?')
--16 2.print upper('Hello,How are you?')
--转换大写 print lower('Hello,How are you?')
--转换小写
3.ltrim rtrim 去除左右端空格
4.字符串截取函数
4.1 left()
--从左边截取五个字符
print left('中华人民共和国中央人民政府今天成立啦!',5)
4.2 right()
--从右边截取五个字符
print right('中华人民共和国中央人民政府今天成立啦!',5)
4.3 substring ()
截取字符串 print right('中华人民共和国中央人民政府今天成立啦!',3,3)--人民共
---------------日期和时间函数------------
print getdata()
print sysdatetime()--精确
--dateadd() 增加时间
--datediff计算两个日期的差
select datediff(year,'1991-5-31'getdate())
select datediff(month,'1991-5-31'getdate())
select datediff(day,'1991-5-31'getdate())--天
select datediff(hour,'1991-5-31'getdate())--小时
select datediff(second,'1991-5-31'getdate())--秒
--datediff只是两者相减。
浙公网安备 33010602011771号