在sql server中常用5類的函式:字串函式,日期函式,數學函式,系統函式,聚合函式。
--常用的字串函式
1.charindex(
)-- 字元索引
2.len()
-- 長度
3.upper(
)-- 大寫
4.ltrim(
)-- 左裁減
5.rtrim(
)-- 右裁減
6.left()
-- 左
7.right()
-- 右
8.stuff(
)-- 刪除並新增
9.replace()
-- 查詢並替換
/* charindex() 用來查詢指定字串在另乙個字串中的起始位置
* 從左往右找的順序,如果沒有找到返回0
*/--兩個引數,不指定開始位置,預設從1開始
select charindex(
'sjdy'
,'www.sjdy.com'
)--返回 5
--三個引數,第乙個查詢內容,第二個資料來源,第三個指定開始位置
select charindex(
'sjdy'
,'www.sjdy.com',3
)--返回 5
-- len() 求字串長度
)--返回 13
-- left() 從左開始擷取指定長度的字串
)--返回 www
--right() 從右開始擷取指定長度的字串
)--返回 com
--replace() 查詢並替換
select
replace
('我愛我的家鄉'
,'家鄉'
,'祖國'
)--返回 '我愛我的祖國'
--stuff() 刪除指定長度字元,並插入新的字元
--資料來源,開始位置,刪除幾個字元,插入新的資料
select stuff(
'abcdef',2
,3,'我和我的祖國'
)--返回 'a我和我的祖國ef'
select stuff(
'abcdef',2
,3,''
)--返回 'aef'
--upper() 將字串轉換為大寫
select upper(
'sql server課程'
)--返回 'sql server課程'
--ltrim() 清除字元左邊的空格
select ltrim(
' sql'
)--返回 'sql'
--rtrim() 清除字元右邊的空格
select rtrim(
'sql '
)--返回 'sql'
--日期部分引數及縮寫
1.yy,yyyy --年 (year)
2.qq,q --季度 (quarter)
3.mm,m --月 (month)
4.dy,y --一年中的某一天 (dayofyear)
5.dd,d --日 (day)
6.wk,ww --周 (week)
7.dw,w --星期 (weekday)
8.hh --小時 (hour)
9.mi,n --分鐘 (minute)
10.ss,s --秒 (second)
11.ms --毫秒 (millisecond)
--getdate() 獲取當前系統日期
select getdate(
)--返回 當前系統時間(2020-07-10 7:36:15.986)
--dateadd() 新增指定日期後的日期
select dateadd(mm,4,
'4/10/2020'
)--返回 修改後的日期(8/10/2020)
--datediff() 獲取時差
select datediff(dy,
'4/10/2020'
,'4/19/2020'
)--返回 時差(9)
--datename() 獲取指定日期部分的字串形式
select datename(dw,
'01/01/2020'
)--返回 字串(星期三)
--datepart() 獲取指定日期部分的整數形式
select datepart(
day,
'01-01-2020'
)--返回 數字(3)
--常用數學函式
1.rand(
)--返回0到1之間的隨機float值
2.abs(
)--獲取絕對值
3.ceiling(
)--向上取整,
4.floor(
)--向下取整
5.power(
)--取數值表示式的冪
6.round()
--取數值表示式四捨五入為指定精度
7.sign(
)--對於整數返回+1,對於負數返回-1,對於0則返回0
8.sqrt(
)--取浮點數表示式的平方根
--獲取隨機數
select rand(
)--返回0~1之間的浮點數(0.522138223779467)
--獲取絕對值
select abs(
-123
)--返回 123
--向上取整
select ceiling(
12.5
)--返回 13
--向下取整
select floor(
12.5
)--返回 12
--取數值表示式的冪
select power(4,
2)--返回 16
--四捨五入
select
round
(43.1453,2
)--返回 43.15
--返回符號或0
select sign(23)
--返回 23
--返回平方根
select sqrt(9)
--返回 3
--常用系統函式
1.convert()
--用來轉變資料型別
2.current_user
--返回你登入的使用者名稱
3.datalength(
)--返回指定表示式的位元組數
4.host_name(
)--返回當前使用者所登入的計算機名稱
5.system_user
--返回你當前所登入的使用者名稱
6.user_name(
)--從給定的使用者名稱id返回使用者名稱
--轉變資料型別
select
convert
(int
,'1234'
) 返回整數 123
--返回你登入的使用者名稱
select
current_user 返回 dbo
--返回表示式的位元組數
select datalength(
'孫') 返回 2
--返回當前登入的計算機名稱
select host_name(
) 返回 desktop-
3ns4gcj
--返回當前登入的使用者名稱
select
system_user 返回 desktop-
3ns4gcj\12930
--返回指定使用者名稱id的使用者名稱
select user_name(
1) 返回 dbo
--常用聚合函式 顧名思義t-sql 提供了5中聚合函式
1.sum()
--和2.
**g(
)--平均分
3.max()
--最大值
4.min()
--最小值
5.count()
--計數
--求和
select
sum(列名)
--返回 該列值的總和 該列必須是整數型別
--求平均分
select
**g(列名)
--返回 該列值的平均數 該列必須是整數型別
--求最大值
select
max(列名)
--返回 該列值中最大值 該列必須是整數型別
--求最小值
select
min(列名)
--返回 該列值中最小值 該列必須是整數型別
--統計
select
count(*
)--返回 統計個數 *代表每條記錄
SQL Server常用函式 更新中
1 擷取字段 left right substring select 欄位名,left 欄位名,2 from 表名 擷取字段內容的前四位2 去除左右空格 ltrim 與rtrim select 欄位名,left 欄位名,2 left rtrim ltrim 欄位名 2 from 表名 先執行去除左空...
SQL SERVER常用函式
len 字串 返回這個字串中字元的長度。isnull check,return 空值函式。檢查check是否為null,如果為null則返回return的值。dateadd unit,duration,date 在向指定日期加上或減去一段時間,返回這個新的datetime值。unit單位 year,...
sqlserver常用函式
1.字串函式 長度與分析用 datalength char expr 返回字串包含字元數,但不包含後面的空格 substring expression,start,length 不多說了,取子串 right char expr,int expr 返回字串右邊int expr個字元 字元操作類 upp...