declare @dt datetime
set @dt=getdate()
declare @number int
set @number=3
--本年的第一天
select convert(char(5),@dt,120)+'1-1' as '本年的第一天'
--本年的最後一天
select convert(char(5),@dt,120)+'12-31' as '本年的最後一天'
--本季度的第一天
select
convert(datetime,convert(char(8),dateadd(month,datepart(quarter,@dt)*3-month(@dt)-2,@dt),120)+'1') as '本季度的第一天'
--本季度的最後一天(case判斷法)
select convert(datetime,
convert(char(8),
dateadd(month,
datepart(quarter,@dt)*3-month(@dt),
@dt),
120)
+case when datepart(quarter,@dt) in(1,4)
then '31'else '30' end)
--c本季度的最後一天(直接推算法)
declare @dt datetime
set @dt=getdate()
select dateadd(day,-1,
convert(char(8),
dateadd(month,
1+datepart(quarter,@dt)*3-month(@dt),
@dt),
120)+'1')
--3.指定日期所在月份的第一天或最後一天
--a. 本月的第一天
declare @dt datetime
set @dt=getdate()
select convert(datetime,convert(char(8),@dt,120)+'1')
--b. 月的最後一天
select dateadd(day,-1,convert(char(8),dateadd(month,1,@dt),120)+'1')
--c. 月的最後一天(容易使用的錯誤方法)
select dateadd(month,1,dateadd(day,-day(@dt),@dt))
--4.指定日期所在周的任意一天
declare @dt datetime
set @dt=getdate()
declare @number int
set @number=7
select dateadd(day,@number-datepart(weekday,@dt),@dt)
--5.指定日期所在周的任意星期幾
--a. 星期天做為一周的第1天 這裡和上面的區別就是星期幾和那一天的關係
declare @dt datetime
set @dt=getdate()
declare @number int
set @number=6
select dateadd(day,@number-(datepart(weekday,@dt)+@@datefirst-1)%7,@dt)
--b. 星期一做為一周的第1天 和上面的統一
declare @dt datetime
set @dt=getdate()
declare @number int
set @number=6
select dateadd(day,@number-(datepart(weekday,@dt)+@@datefirst-2)%7-1,@dt)
資料庫函式
常用函式 dual是乙個oracle內部表,不論我們做什麼操作 不要刪除記錄 可以做很多取系統時間,計算等。虛表 dual 是oracle提供的最小的工作表,它僅包含一行一列。select from dual abs 絕對值 select abs 10 abs 10 from dual 10 10 ...
DZ! X 資料庫函式操作方法
db table tablename 獲取正確帶字首的表明,轉換資料庫控制代碼 db delete tablename,條件,條數限制 刪除表中的資料 db insert tablename,資料 陣列 是否返回插入id,是否是替換式,是否silent 插入資料操作 db update tablen...
資料庫函式依賴
關聯式資料庫設計理論的核心是資料間的函式依賴,衡量的標準是關係規範化的程度及分解的無損連線和保持函式依賴性。函式依賴研究的是乙個關係中屬性之間存在的依賴關係,它是根據現實世界中資料項之間存在的語義通過觀察和分析得出的結果,是資料內在的性質,是一種語義範疇的概念。一 函式依賴 functional d...