在sql server中實現查詢一個月中有多少星期天
首先用dateadd()獲得該月的第一天(from_date)和最後一天(to_date),再用datepart()遞增比較from_date是否為星期天,並用@sun記錄星期天的個數。
程式碼:
declare @yr int
declare @mth int
declare @from_date datetime
declare @to_date datetime
set @yr='2014' set @mth='11'
--set @[email protected]+'-'[email protected]+'-1'
set @from_date=ltrim(@yr)+'-'+ltrim(@mth)+'-1'
set @to_date=dateadd(month,1,@from_date)-1
declare @sun int
set @sun=0
while @from_date<@to_date
begin
if(DATEPART(WEEKDAY,@from_date)=1) --判斷當天是否是星期日
set @ [email protected]+1
set @[email protected]_date+1
end
select @sun
相關推薦
在sql server中實現查詢一個月中有多少星期天
首先用dateadd()獲得該月的第一天(from_date)和最後一天(to_date),再用datepart()遞增比較from_date是否為星期天,並用@sun記錄星期天的個數。 程式碼: declare @yr int declare @mth int decla
SQL Server中,查詢資料庫中有多少個表,以及資料庫其餘型別資料統計查詢
sql server 數表: select count(1) from sysobjects where xtype='U' 數檢視: select count(1) from sysobjects where xtype='V' 數儲存過程 select count(1) from sysobjects
到T-SQL DML 三級的階梯:在SQL server中實現關系模型
有一個 records 建數據庫 外鍵約束 ast base 成功 還需要 lin 作者: Gregory Larsen, 2017/08/02 (第一次出版: 2011/11/09) 翻譯:謝雪妮,許雅莉,賴慧芳,劉瓊濱 譯文: 系列 該文章是階梯系列的一部分:T-
SQL Server 中資料查詢注意事項
1.查詢語句不用區分大小寫,而且即使每張表的表名或者列名出現大寫字母,在寫查詢語句的時候也不用區分大小寫,查詢結果保持一致,所以查詢語句小寫即可。 2.在寫查詢語句的時候列名不需要帶單引號,數值型的字串不用帶引號,需要帶引號的是字元型和漢字型的字串。 3.如果既要用到group by子句,也要用到orde
一、sql server中建立外來鍵約束有3中方式i
一、sql server中建立外來鍵約束有3中方式 1.Enterprise Manager中,Tables,Design Table,設定Table的properties, 可以建立constraint, reference key; 2.Enterprise Ma
sql server 中join 查詢中on後面 加case的用法
在專案中出現的left join 查詢在on後面用case的語法,弄了好久,終於搞定了,以作備忘.示列:select * from AIRPORTORDER as Ainner join RANGECODE as Bon case when A.AIRPOR
SQL Server 中如何用一個表的資料更新另一個表中的資料
for ACCESS 資料庫: update a, b set a.name=b.name1 where a.id=b.id for SQL Server 資料庫: update a set a.name=b.name1 from a,b where a.id=b.id
用SQL Server日期函式獲得一個月中天數的方案
此文主要向大家描述的是SQL Server日期函式之獲得一個月中的實際天數的正確操作步驟,在實際草組中如果你想獲得一個月的天數其主要操作技巧是:首先到得一個月最後一天的日期,然後通過 SQL Server 日期函式 day() 取得日期中的“天” 部分。 獲得 2008 年 2 月份的天數: selec
在SQL Server中實現 Limit m, n 的功能
在MySQL中,可以用 Limit 來查詢第 m 列到第 n 列的記錄,例如:select * from tablename limit m, n但是,在SQL Server中,不支援 Limit 語句。怎麼辦呢? 解決方案: 雖然SQL Server不支援 Limit ,但是它支援 TOP。 我們以SQL
在 Sql Server 中實現 UrlDecode
最近在公司網站中要做一個統計,統計一下按關鍵字或者來源網站關鍵字的數量,結果發現數據庫中太多的 URL 地址中出現了漢字,並且,這些漢字還是經過了 UrlEncode 之後的內容,天啊,你玩死文盲吧,難道每統計一次,你都想讓文盲把這些內容用程式做下解碼嗎? 於是,文盲同學發
在SQL SERVER中實現事務的部分回滾
1.儲存點:是一種實現部分回滾的方法。可以給一個儲存點起一個名字,以便在後面的事務中可以回滾到儲存點。 2.實現程式碼。 BEGIN TRANSACTION Transaction_NameSQL_Statement1SQL_Statement2 SAVE TRANSACTION Save_Nam
SQL SERVER中查詢參數為空(null)時默認查詢所有的實現
字符型 pub 篩選條件 sql 註意 exec ltr lis 引號 方法1:當出版社篩選條件為null,該如何寫SQL呢? 1 DECLARE @publishers VARCHAR(50);2 SELECT * FROM dbo.Book WHERE Publishe
SQL SERVER 中有一個表有自動增長的欄位,向表中插入值時怎麼辦
比如表 A 欄位有 id(自動增長) name age addrinsert into table values('','','') 這種寫法不管自動增長的欄位 直接從name欄位開始也可以明顯的表示insert into table(name,ag
Sql Server 中查詢存儲過程的修改時間
lai 名稱 lec code str name class 指定 number 1、按最近修改排序所有存儲過程 SELECT [name], [create_date], [modify_date] FROM [sys].[objects] WHERE [type
Sql Server中百萬級數據的查詢優化
時也 分析 解決 普通 bject 響應時間 isnull ket b- 萬級別的數據真的算不上什麽大數據,但是這個檔的數據確實考核了普通的查詢語句的性能,不同的書寫方法有著千差萬別的性能,都在這個級別中顯現出來了,它不僅考核著你sql語句的性能,也考核著程序員的思想。
將一個基於磁盤的表遷移到SQL Server中的一個內存優化的表
varchar 並發 ken 希望 重要 資源管理器 limited com arc 本文是微軟的譯文,對應的原文是:https://www.red-gate.com/simple-talk/sql/database-administration/migrating-dis
Sql Server中的遊標最好只能用於有主鍵或唯一鍵的表
table com ref where dynamic lint set 最好 mic 遊標cursor,我想大多數人都在sql server裏面用過。當一個表數據量不太大的時候,遊標還是可以用的,畢竟遊標是循環一個表中每一行數據的最簡便辦法。但是如果你用一個遊標去循環一個
[SQL]sql server中如何直接查詢存儲過程EXEC返回的結果集?
arc div lec rom 結果 In varchar SQ type Declare @T Table (iDay VARCHAR(4),iNum DECIMAL(18,2),yuxiang DECIMAL(18,9))
T-SQL查詢進階--理解SQL Server中索引的概念,原理以及其他
工具 def microsoft 需要 blog b- eve 實現 中一 簡介 在SQL Server中,索引是一種增強式的存在,這意味著,即使沒有索引,SQL Server仍然可以實現應有的功能。但索引可以在大多數情況下大大提升查詢性能,在OLAP
T-SQL查詢進階--SQL Server中的事務與鎖
錯誤 span 設備 限制 數據復制 默認 base 數據 insert 為什麽需要鎖在任何多用戶的數據庫中,必須有一套用於數據修改的一致的規則,當兩個不同的進程試圖同時修改同一份數據時,數據庫管理系統(DBMS)負責解決它們之間潛在的沖突。任何關系數據庫必須支持事務的AC