huaweiming
--1.类型转换convert() cast()
--convert(data_type,expression,[style])
    注意:对于时间转换,只能用convert()
    print convert(varchar(16),getdate(),120)
--cast(expression as data_type)
方法:
CAST(任何有效的表达试  AS 要转换的数据类型(数据类型的长度,可选))
例:SELECT  CAST(10000 as varchar(10))            
    SELECT  CAST(10000 as varchar)
--2.union()联合结果集
--union指的是联合的意思,是将多个结果联合成一个结果集,把所有的记录都
--加起来编程一个大的结果集
--可以union的前提:每个结果集的列的个数都得一致
    --并且多个结果集之间的列的数据类型需要意义对应。    
    --union 使用union的时候默认执行去重复的操作,
    --union all(在不不需要去重的前提下,推荐用这种)因为union要进行重复字扫描,所以效率低
select 商品名称,SUM(销售数量*销售价格)as 销售总价 from MyOrders group by 商品名称
union  select \'销售总价\',sum(销售数量*销售价格)from MyOrders

--3.在一个表中一次性插入多条数据
select * from Contacts
insert Contacts
select \'翟群\',\'18721586025\',\'547916475@qq.com\',1 union all
select \'嘻嘻\',\'1345678901\',\'heh@qq.com\',2 union all
select \'哈哈\',\'1234567891\',\'163@qq.com\',3 union

--4.备份表
select * into MyStudentNew from MyStudent。
--说明:上述sql语句表示复制Mystudent表到MystudentNew表中,但是约束不会被复制。
--如果已经存在一个Mystudent表了,则会报错。

--5.只复制表结构
select * into MystudentNew1 from MyStudent where 1<>1
select top 0 * from into MyStudentNew1 from MyStudent

--6.将一张表的数据插入另一张已经存在的表中
insert into MyStudentNew2
select isnull(tsname,\'匿名学生\'),Isnull(tsage,18),tsgender,0,0,tsclassId,isnull(tsbirthday,getdate()) from TblStudent


---------------------------字符串函数--------------------
select len(\'hi,中华\')  --返回字符串中字符的个数 5
select datalength(\'hi,中华\') --返回该字符所占用的字节数 7
select datalength(N\'hi,中华\') --返回该字符unicode编码方式的字节数 10

select upper(\'how are you \') --返回大写字符串
select lower(\'HOW ARE YOU\')  --返回小写字符串

print \'-------\'+ltrim(\'     hello   \')+\'----------\' --去掉左边的空格
print \'-------\'+rtrim(\'     hello   \')+\'----------\' --去掉右边的空格
print \'-------\' +trim(\'     hello   \')+\'----------\' --去掉两边的空格

--substring(value_expression,start_expression,lenght)索引从1开始
print substring(\'123456\',1,3)  --结果为123
print substring(\'123456\',0,3)  --结果为12
print substring(\'123456\',-1,3) --结果为1

print substring(\'123456\',-1,3)

-------------------------日期函数------------------------

getdate() --获得当前日期时间
print dateadd(year,5,getdate()) --在当前年加上5年,若减五年,写成-5
print dateadd(month,2,getdate()) --在当前年月加上5月
print dateadd(hour,2,getdate())     --当前时间上加上2个小时

getdiff() --计算两个日期之间的差
print datediff(year,\'2013-12-8 00:00:00.000\',getdate()) --年份之差
print datediff(month,\'2013-12-9 00:00:00.000\',getdate())--月份之差
print datediff(day,\'2013-12-9 00:00:00.000\',getdate())  --天数之差
print datediff(hour,\'2013-12-8 00:00:00.000\',getdate()) --时间之差
print datediff(second,\'2013-12-8 00:00:00.000\',getdate()) --分钟之差

datepart() --截取日期的某部分
print detepart(weekday,getdate())

print datepart(weekday,getdate())--一周的第几天
print datepart(week,getdate())   --一年的第几周
print datepart(month,getdate())     --一年的第几个月
print datepart(dayofyear,getdate()) --一年的第几天
print datepart(day,getdate())     --一个月中的
 

 

分类:

技术点:

相关文章:

  • 2022-01-07
  • 2021-12-05
  • 2021-11-28
  • 2021-12-22
  • 2022-01-05
  • 2021-12-12
  • 2021-12-12
  • 2021-08-19
猜你喜欢
  • 2021-11-18
  • 2021-12-12
  • 2021-11-06
  • 2021-12-12
  • 2021-09-08
  • 2021-09-08
  • 2021-10-16
相关资源
相似解决方案