Memoryizz

day 04


create table #mian2
(
cola int
,colb int
,colc int
)


insert into #mian2 values (1,2,3)
insert into #mian2 values (5,2,3)
insert into #mian2 values (5,9,3)

表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。


select
case when cola>colb then cola else colb end pan1
,case when colb>colc then colb else colc end pan2
,case when cola>colb and cola>colc then cola
when colb>cola and colb>colc then colb
else colc
end max
from #mian2

--输出最大值 用嵌套的方法
select
case when colc >(case when cola>colb then cola else colb end )
then colc else (case when cola>colb then cola else colb end )
end max
from #mian2

--模板--
case when condition1 then result1
when condition2 then result2
.....
else resultn
end

 

 

3.面试题:一个日期判断的sql语句?
请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)

 

create table #mian
(
date_stamp date
,if_success varchar(20)
)
insert into #mian values ('2005-05-09','胜')
insert into #mian values ('2005-05-09','胜')
insert into #mian values ('2005-05-09','负')
insert into #mian values ('2005-05-09','负')
insert into #mian values ('2005-05-10','胜')
insert into #mian values ('2005-05-10','负')
insert into #mian values ('2005-05-10','负')
insert into #mian values ('2018-05-21','test')


select * from #mian
where date_stamp=cast(GETDATE() as DATE)

select cast(GETDATE() as DATE) --显示当天更新的数据--

--varchar(20)表示显示的长度,120表示显示的格式--
select CONVERT(varchar(20),GETDATE(),120)

 

有一张表,里面有3个字段:语文,数学,英语。其中有3条记录分别表示语文70分,数学80分,英语58分,请用一条sql语句查询出这三条记录并按以下条件显示出来(并写出您的思路):
大于或等于80表示优秀,大于或等于60表示及格,小于60分表示不及格。
显示格式:
语文 数学 英语
及格 优秀 不及格


create table #stud_core(
yuwen int
,shuxue int
,yingyu int
)
insert into #stud_core values(70,80,58)
select case when yuwen >= 80 then '优秀'
when yuwen >=60 then '及格'
else '不及格' end as 语文

,case when shuxue >= 80 then '优秀'
when shuxue >=60 then '及格'
else '不及格' end as 数学

,case when yingyu >= 80 then '优秀'
when yingyu >=60 then '及格'
else '不及格' end as 英语

from #stud_core


7.请用一个sql语句得出结果
从table1,table2中取出如table3所列格式数据,注意提供的数据及结果不准确,只是作为一个格式向大家请教。
如使用存储过程也可以。

table1

月份mon 部门dep 业绩yj
——————————-
一月份 01 10
一月份 02 10
一月份 03 5
二月份 02 8
二月份 04 9
三月份 03 8

table2

部门dep 部门名称dname
——————————–
01 国内业务一部
02 国内业务二部
03 国内业务三部
04 国际业务部


create table sdata.dbo.open_order
(
Order_Source_Name nvarchar(255)
,Plant_Location_Number nvarchar(255)
,Plant_Location_Name nvarchar(255)
,Booked_Date nvarchar(255)
,Booked_Fiscal_Year nvarchar(255)
,Booked_Fiscal_Month nvarchar(255)
,Ordered_Date nvarchar(255)
,CRSD_Date nvarchar(255)
,Customer_Account_Number nvarchar(255)
,Customer_Name nvarchar(255)
,Product_Number nvarchar(255)
,Source_Order_Line_Flow_Status nvarchar(255)
,Fulfillment_Status nvarchar(255)
,Line_Number nvarchar(255)
,Line_Type nvarchar(255)
,Open_Flag nvarchar(255)
,Sales_Order_Number nvarchar(255)
,Purchase_Order_Number nvarchar(255)
,Order_Type nvarchar(255)
,Product_Name nvarchar(255)
,Ordered_Qty nvarchar(255)
,Reserved_Qty nvarchar(255)
,Open_Qty nvarchar(255)
,Shipped_Qty nvarchar(255)
,Order_Source_Description nvarchar(255)
,Created_By_Login nvarchar(255)
)

delete from sdata.dbo.open_order

posted on 2018-08-09 20:07  Memoryizz  阅读(101)  评论(0编辑  收藏  举报

导航