儲存裡呼叫函式
注:substring(cast(getdate() as nvarchar(500)), 7, 4) 也是得到2007
select substring(cast(getdate() as nvarchar(500)), 6, 5) as expr1 from jdkh
select substring(cast(getdate() as nvarchar(500)), 7, 4) as expr1 from jdkh
得到的都是2007
select getdate() as expr1 from jdkh
得到的是2007-3-2 10:11:33
-----------------------------------------
為什麼儲存裡
set @strsql4= @strsql4+ ' ' + 'and q11 = (substring(cast(getdate() as nvarchar(500)), 6, 5))'
找不出資料
就是要set @strsql4= @strsql4+ ' ' + 'and q11 = (substring(cast(getdate() as nvarchar(500)), 7, 4))'
-------------------------------------------
函式寫在**?
tables 建立表
stored procedures 建立儲存
寫在user defined functions
儲存:if @sql3 is null or @sql3=''
set @strsql4= @strsql4+ ' ' + 'and (substring(cast(q10 as nvarchar(500)),6,5))=(substring(cast(getdate() as nvarchar(500)),6,5))'
else
begin
set @strsql4= @strsql4+ ' ' + 'and (substring(cast(q10 as nvarchar(500)),6,5))='+@sql3+''
end查詢和某年相等的資料或本年的資料
if @sql4 is null or @sql4=''
set @strsql4 = @strsql4+ ' ' + ' and dbo.computequarter(q10) = dbo.computequarter2(getdate())'
else
begin
set @strsql4 = @strsql4+ ' ' + ' and dbo.computequarter(q10) = '+ @sql4
endq10和getdate()都是引數
第乙個函式dbo.computequarter(getdate())功能是顯示本季度的資料
第二個函式dbo.computequarter2(q10)功能是顯示和某日期相對應季度的資料(判斷日期屬於哪個季度)
dbo.computequarter(q10)就是把時間欄位q10轉化為季度的函式,等價於datepart(qq,q10)
-------------------------
函式1:
create function dbo.computequarter (@date datetime)
returns int
asbegin
declare @month int
declare @jidu int
set @month = month(@date)
if(@month > 0 and @month <4)
set @jidu =1
else if(@month >= 4 and @month <7)
set @jidu =2
else if(@month >= 7 and @month <10)
set @jidu =3
else
set @jidu =4
return(@jidu)
end函式2:
create function dbo.computequarter2(@date datetime)
returns int
asbegin
declare @month int
declare @jidu int
set @month = month(@date)
if(@month > 0 and @month <4)
set @jidu =1
else if(@month >= 4 and @month <7)
set @jidu =2
else if(@month >= 7 and @month <10)
set @jidu =3
else
set @jidu =4
return(@jidu)
end
某年某月某日屬於某月的第幾周
有人在php版問 某月某日所對應的週數應該怎麼做.比如9月8號,對應的是本月的第幾周.演算法 1 m x年y月1日前空著的天數。比如,用windows看今天是2008年9月12日,本月1日前空著1天,所以m 1。2 w x年y月z日是y月的第w周。x 2008 y 9 z 12 m date n s...
sql計算某日期到當前日期的時間間距
這裡用到了sql語句中的timestampdiff 單位,開始時間,結束時間 函式 其中單位可以為 1 year 年 2 quarter 季度 3 month 月 4 week 星期 5 day 天 6 hour 小時 7 minute 分鐘 8 second 秒 9 frac second 毫秒 ...
查詢某個月或某日的記錄
以前總是覺得,寫程式重要的是思路,一些小細節上的東西不用太過於在意,用的時候一查幫助就出來了,實際上這也是可行,只是有些東西,總是找了忘,忘了再找.實在太不方便了,所以現在想想應該把小的東西也記錄下來,以後用的時候也方便.那就從今天遇到的乙個小問題開始吧,如果資料庫中有乙個欄位中是時間,我要查詢某個...