一个表(PW_二氧化硫收费标准),数据类型如下:

有点晕的SQL语句

表中数据如下:

 1         1900-1-1          2004-7-1          .2
 2         2004-7-1          2005-7-1          .4
 3         2005-7-1          2008-11-1        .6

表中数据代表不同时期内二氧化硫不同的收费标准

要求根据输入的年月(格式如"200501")查询出当前年月的二氧化硫收费标准

SQL语句如下:

有点晕的SQL语句                            SELECT 
有点晕的SQL语句                                收费标准
有点晕的SQL语句                            
FROM 
有点晕的SQL语句                                (
有点晕的SQL语句                                    
SELECT 
有点晕的SQL语句                                        
CAST
有点晕的SQL语句                                            (
有点晕的SQL语句                                                
CAST(YEAR(开始时间) AS CHAR(4)) + 
有点晕的SQL语句                                                    (    
有点晕的SQL语句                                                        
CASE 
有点晕的SQL语句                                                            
LEN(CAST(MONTH(开始时间) AS VARCHAR(2))) 
有点晕的SQL语句                                                        
WHEN 
有点晕的SQL语句                                                            
1 
有点晕的SQL语句                                                        
THEN 
有点晕的SQL语句                                                            
'0' + CAST(MONTH(开始时间) AS VARCHAR(2)) 
有点晕的SQL语句                                                        
ELSE 
有点晕的SQL语句                                                            
CAST(MONTH(开始时间) AS VARCHAR(2)) 
有点晕的SQL语句                                                        
END
有点晕的SQL语句                                                    ) 
有点晕的SQL语句                                                
AS INT
有点晕的SQL语句                                            ) 
有点晕的SQL语句                                        
AS 
有点晕的SQL语句                                        开始时间年和月份, 
有点晕的SQL语句                                        
CAST
有点晕的SQL语句                                            (
有点晕的SQL语句                                                
CAST(YEAR(结束时间) AS CHAR(4)) + 
有点晕的SQL语句                                                    (
有点晕的SQL语句                                                        
CASE 
有点晕的SQL语句                                                            
LEN(CAST(MONTH(结束时间) AS VARCHAR(2))) 
有点晕的SQL语句                                                        
WHEN 
有点晕的SQL语句                                                            
1 
有点晕的SQL语句                                                        
THEN
有点晕的SQL语句                                                            
'0' + CAST(MONTH(结束时间) AS VARCHAR(2)) 
有点晕的SQL语句                                                        
ELSE 
有点晕的SQL语句                                                            
CAST(MONTH(结束时间) AS VARCHAR(2)) 
有点晕的SQL语句                                                        
END
有点晕的SQL语句                                                    ) 
有点晕的SQL语句                                                
AS INT
有点晕的SQL语句                                            ) 
有点晕的SQL语句                                        
AS 
有点晕的SQL语句                                        结束时间年和月份,
有点晕的SQL语句                                        收费标准
有点晕的SQL语句                                
FROM 
有点晕的SQL语句                                    
[PW_二氧化硫收费标准]
有点晕的SQL语句                            )
有点晕的SQL语句                             二氧化硫收费标准转换
有点晕的SQL语句                        
WHERE 
有点晕的SQL语句                                (二氧化硫收费标准转换.开始时间年和月份 
<= '200501'
有点晕的SQL语句                            
AND 
有点晕的SQL语句                                (二氧化硫收费标准转换.结束时间年和月份 
> '200501')


其实设计数据库的时候把表结构和其中的数据考虑周全点,就不用这么麻烦啦,呵呵……

有点晕的SQL语句

相关文章:

  • 2021-07-04
  • 2021-08-23
  • 2021-09-01
  • 2021-05-19
  • 2022-01-24
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2021-06-17
  • 2021-06-24
  • 2021-06-28
  • 2021-11-18
  • 2022-12-23
相关资源
相似解决方案