sql字元日期函數-九游会j9娱乐平台
a. sql常用的字元串函數都有哪些
常用的字元串函數有:
一、字元轉換函數
1、ascii()
2、char()
3、lower()和upper()
4、str()
二、去空格函數
1、ltrim() 把字元串頭部的空格去掉。
2、rtrim() 把字元串尾部的空格去掉。
三、取子串函數
1、left()
2、right()
3、substring()
四、字元串比較函數
1、charindex()
2、patindex()
五、字元串操作函數
1、quotename()
2、replicate()
3、reverse()
4、replace()
4、space()
5、stuff()
六、數據類型轉換函數
1、cast()
2、convert()
七、日期函數
1、day(date_expression)
2、month(date_expression)
3、year(date_expression)
4、dateadd()
5、datediff()
6、datename()
7、datepart()
8、getdate()
b. sql鍐欏嚱鏁 杈撳叆鍙傛暟錛氭棩鏈燂紙yyyymmdd錛夊拰涓嬮潰鏌愪竴涓鍙傛暟 榪斿洖鏁版嵁錛氬弬鏁拌存槑瑕佽繑鍥炵殑鏃ユ湡銆
鍑芥暟浠g爜錛
createorreplacefunctionfunc_date(--鍒涘緩鍑芥暟鍚嶇оfunc_date
p_yyyymmddnumber,--瀹氫箟鍙傛暟1
p_numnumber)--瀹氫箟鍙傛暟2
returndate--榪斿洖緇撴灉綾誨瀷涓篸ate
as
v_resultdate;--澹版槑榪斿洖緇撴灉鍙橀噺
begin
ifp_num=11
thenv_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'mm');--鏈鏈堝垵
elsifp_num=12
thenv_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q');--鏈瀛e垵
elsifp_num=13
thenv_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy');--鏈騫村垵
elsifp_num=21
thenv_result:=last_day(to_date(p_yyyymmdd,'yyyy-mm-dd'));--鏈鏈堟湯
elsifp_num=22
thenv_result:=last_day(add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q'),2));--鏈瀛e害鏈
elsifp_num=23
thenv_result:=last_day(add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy'),11));--鏈騫存湯
elsifp_num=31
thenv_result:=add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'mm'),-1);--涓婃湀鍒
elsifp_num=32
thenv_result:=add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q'),-3);--涓婂e垵
elsifp_num=33
thenv_result:=add_months(trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy'),-12);--涓婂勾鍒
elsifp_num=41
thenv_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'mm')-1;--涓婃湀鏈
elsifp_num=42
thenv_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'q')-1;--涓婂f湯
elsifp_num=43
thenv_result:=trunc(to_date(p_yyyymmdd,'yyyy-mm-dd'),'yyyy')-1;--涓婂勾鏈
else
raise_application_error(-20001,'p_num鍙傛暟璇存槑涓嶅瓨鍦錛');--鍏跺畠鍙傛暟鎶涘嚭寮傚父
endif;
returnv_result;--榪斿洖緇撴灉
endfunc_date;
/
璋冪敤鍑芥暟錛
selectfunc_date(20161219,11)fromal;
c. sql中日期函數的用法
1.dateadd ( i , n , d )
將一個日期加上一段期間後的日期。 i :設定一個日期( date )所加上的一段期間的單位。譬如 interval="d" 表示 n的單位為日。 i的設定值如下:
yyyy year 年
q quarter 季
m month 月
d day 日
w weekday 星期
h hour 時
n minute 分
s second 秒
n :數值表達式,設定一個日期所加上的一段期間,可為正值或負值,正值表示加(結果為 >date 以後的日期),負值表示減(結果為 >date 以前的日期)。
d :待加減的日期。
例子: dateadd ( "m" , 1 , "31-jan-98")
結果: 28-feb-98
說明:將日期 31-jan-98 加上一個月,結果為 28-feb-98 而非 31-fe-98 。
例子: dateadd ( "d" , 20 , "30-jan-99")
結果: 1999/2/9
說明:將一個日期 30-jan-99 加上 20 天後的日期。
2.day( 日期的字元串或表達式 )
傳回日期的「日」部份。
例子: day(" 12/1/1999 ")
結果: 1
3.datediff (i , d1 , d2[,fw[,fy]])
計算兩個日期之間的期間。
i :設定兩個日期之間的期間計算之單位。譬如 >i="m" 表示計算的單位為月。 >i 的設定值如:
yyyy > year 年
q quarter 季
m month 月
d day 日
w weekday 星期
h hour 時
n minute 分
s second 秒
d1 ,d2:計算期間的兩個日期表達式,若 >date1 較早,則兩個日期之間的期間結果為正值;若 >date2 較早, 則結果為負值。
fw :設定每周第一天為星期幾, 若未設定表示為星期天。 >fw 的設定值如下:
0 使用 >api 的設定值。
1 星期天
2 星期一
3 星期二
4 星期三
5 星期四
6 星期五
7 星期六
fy :設定一年的第一周, 若未設定則表示一月一日那一周為一年的第一周。 >fy 的設定值如下:
0 使用 >api 的設定值。
1 一月一日那一周為一年的第一周
2 至少包括四天的第一周為一年的第一周
3 包括七天的第一周為一年的第一周
例子: datediff ("d","25-mar-99 ","30-jun-99 ")
結果: 97
說明:顯示兩個日期之間的期間為 97 天
想查詢2007年2月9日的付款流水有單筆交易出現多張小票號的情況的小票號
這個要看一下你的表結構是什麼樣的啊?
d. sql server中的時間函數有那些,最好舉例說明
比較常用的時間函數有dateadd,datediff,datename,datepart,day,getdate,month,year,getutcdate這幾個函數。
以下依次說明,如需更詳細說明請參考sql幫助文檔:
1. dateadd函數
在向指定日期加上一段時間的基礎上,返回新的 datetime 值。
語法
dateadd ( datepart , number, date )
示例
此示例列印出 pubs 資料庫中標題的時間結構的列表。此時間結構表示當前發布日期加上 21 天。
select dateadd(day, 21, pubdate) as timeframe
from titles
2.datediff函數
返回跨兩個指定日期的日期和時間邊界數。
語法
datediff ( datepart , startdate , enddate )
示例
此示例確定在 pubs 資料庫中標題發布日期和當前日期間的天數。
select datediff(day, pubdate, getdate()) as no_of_days
from titles
3.datename函數
返回代表指定日期的指定日期部分的字元串。
語法
datename ( datepart , date )
示例
此示例從 getdate 返回的日期中提取月份名。
select datename(month, getdate()) as 'month name'
4.datepart函數
返回代表指定日期的指定日期部分的整數。
語法
datepart ( datepart , date )
示例
此示例顯示 getdate 及 datepart 的輸出。
select datepart(month, getdate()) as 'month number'
5.day函數
返回代表指定日期的天的日期部分的整數。
語法
day ( date )
示例
此示例返回從日期 03/12/1998 後的天數。
select day('03/12/1998') as 'day number'
6.getdate函數
按 datetime 值的 microsoft® sql server™ 標准內部格式返回當前系統日期和時間。
語法
getdate ( )
示例
下面的示例得出當前系統日期和時間:
select getdate()
7.month函數
返回代表指定日期月份的整數。
語法
month ( date )
示例
下面的示例從日期 03/12/1998 中返回月份數。
select "month number" = month('03/12/1998')
8.year函數
返回表示指定日期中的年份的整數。
語法
year ( date )
示例
下例從日期 03/12/1998 中返回年份數。
select "year number" = year('03/12/1998')
9.getutcdate函數
返回表示當前 utc 時間(世界時間坐標或格林尼治標准時間)的 datetime 值。當前的 utc 時間得自當前的本地時間和運行 sql server 的計算機操作系統中的時區設置。
語法
getutcdate()
示例
下例從日期 03/12/1998 中返回年份數。
select getutcdate()
e. sql中獲取當前日期的函數怎麼寫(只要**月**日)
1、使用getdate獲取當正簡前日期。
2、用datename 分別獲取月份舉仿褲和日。
3、系統標准日期格大陵式沒有**月**日,所以使用連接符' ',自定義格式。
f. sql server查詢時間是一年中第幾周的函數
1、獲取當前系統資料庫的日期和時間,可以利用函數getdate(),select getdate()。
g. sql中的to_char與to_date分別是怎麼用的
to_char 是把日期或數字轉換為字元串;
to_date 是把字元串轉換為資料庫中得日期類型轉換函數;
to_number 將字元轉化為數字;
一、to_char
使用to_char函數處理數字
to_char(number,'格式')
to_char(salary,』$99,999.99』);
使用to_char函數處理日期
to_char(date,』格式』);
二、to_number
使用to_number函數將字元轉換為數字
to_number(char[,'格式'])
三、to_date
使用to_date函數將字元轉換為日期
to_date(char[,'格式'])