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" |