SELECT CONVERT(VARCHAR(4), Num)+'m' as title, CONVERT(VARCHAR(4), Num) as value FROM ( SELECT DISTINCT NUMBER AS Num FROM master.dbo.spt_values WHERE name IS NULL ) NumberPool WHERE Num BETWEEN 1 AND 100 ORDER BY Num
執行結果
SELECT CONVERT(VARCHAR(4), Num)+'m' as title, CONVERT(VARCHAR(4), Num) as value FROM ( SELECT DISTINCT NUMBER AS Num FROM master.dbo.spt_values WHERE name IS NULL ) NumberPool WHERE Num BETWEEN 1 AND 100 ORDER BY Num
執行結果
select year( GETDATE()) --目前年 select convert(varchar(10),getdate(),111)--月底 select dateadd(month,datediff(month,'1900-01-01',getdate()),'1900-01-01') --當月初 select dateadd(month,datediff(month,0,getdate()),0) --當月初 select dateadd(month,datediff(month,-1,getdate()),-1)--當月底 SELECT DATEADD(MM, DATEDIFF(MM,0,(SELECT DATEADD(MM,-1, GETDATE()))),0) --上個月初
--MSSQL with ach as ( select dateadd(dd,number,cast(ltrim(year(getdate()))+'-01-01' as datetime)) date from master..spt_values where [type] = 'p' and number between 0 and 400 ),cte as ( select * from ach where year(date) = year(getdate()) ), abc as ( select datepart(wk,date) as wk,min(date) mindate,max(date) maxdate from cte group by datepart(wk,date) ) select CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), -1),112 ) as int ) as 'SUNDAY' ,CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), 0),112 ) as int ) as 'MONDAY' ,CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), 1),112 ) as int ) as 'TUESDAY' ,CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), 2),112 ) as int ) as 'WENDNESDAY' ,CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), 3),112 ) as int ) as 'THURSDAY' ,CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), 4),112 ) as int ) as 'FRIDAY' ,CAST( CONVERT (varchar(8), DATEADD(wk, DATEDIFF(wk, 0, abc.mindate), 5),112 ) as int ) as 'SATURDAY' from abc where wk='1' -- 自行代入週別
String a="1"; String b="2"; String SQL_STR="SELECT * FROM DT WHERE 1=1"; if(String.IsNullorEmpty(a))//條件1 { SQL_STR+="AND a='a'"; } if(String.IsNullorEmpty(b))//條件2 { SQL_STR+="AND b='b'"; } //如此就算條件1, 條件2不成立, SQL_STR丟回資料庫處理時也不會產生錯誤
Create table newT AS SELECT *FROM DT1 WHERE 1=0
store_name | Sales | Date |
Los Angeles | $1500 | Jan-05-1999 |
San Diego | $250 | Jan-07-1999 |
Los Angeles | $300 | Jan-08-1999 |
Boston | $700 | Jan-08-1999 |
store_name |
Los Angeles |
San Diego |
Boston |
Sql = "SELECT * FROM 資料表1 INNER JOIN 資料表2 ON 條件" |
Sql = "SELECT * FROM 資料表1 INNER JOIN 資料表2 ON 資料表1.class = 資料表2.class" |
Sql = "SELECT * FROM 資料表1 RIGHT JOIN 資料表2 ON 資料表1.class = 資料表2.class" |
Sql = "SELECT * FROM 資料表1 LEFT JOIN 資料表2 ON 資料表1.class = 資料表2.class" |