溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQLServer常用函數有哪些

發布時間:2021-08-26 20:12:48 來源:億速云 閱讀:212 作者:chen 欄目:開發技術

本篇內容主要講解“SQLServer常用函數有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SQLServer常用函數有哪些”吧!

SQLServer中的常用函數

字符串函數

len() 計算字符串的長度

select LEN(name) from test1  --計算name的長度

大小寫轉換 lower() upper()

select lower('STUDENT !')
select upper('student !')

去空 ltrim() 字符串左側的空格去掉 ,rtrim()字符串右側的空格去掉

declare @str varchar(100) = ' a a a '
select ltrim(@str)
select rtrim(@str)

字符串截取 substring() left() right()

select substring('HelloWorld!',6,6)  --可截取任意長度
select left('HelloWorld!' ,5)  --從左開始截取
select right('HelloWorld!' ,6) --從右開始截取

字符串替換 replace()

select replace('HelloWorld!','o','e')    --string,要被替換的字符串,替換的字符串

字符串 掉個順序 reverse()

select reverse('abc')    --cba

返回 字符串1在字符串2中出現的未位置 charindex()

charindex(srt1 ,srt2)--srt1 在srt2中的開始位置

select charindex('H','elloHWorld') 結果為:5 --只能查第一次出現的位置,匹配不到返回0

指定的次數重復字符串值 replicate()

select replicate('abc',4) 結果為:abcabcabcabc

聚合函數

聚合函數對一組值計算后返回單個值。除了count(統計項數)函數以外,其他的聚合函數在計算式都會忽略空值(null)。所有的聚合函數均為確定性函數。

平均值 avg() 算一組數的總和,然后除以為null的個數,得到平均值。

select avg(id) from test1     avg(列名)

最小值min() 最大值max()

select min(id) from test1
select max(id) from test1

求和 sum()

select sum(id) from test1

計算總數 count()

select count(id) from test1

分組

統計學生的總成績并排序
select stu_id as 學生編號 ,name as 學生姓名 , SUM(語文+英語+數學+代數) as 總分from tb_stuAchievement 
ORDER BY 總分 DESC
GROUP BY stu_id ,name

(函數可能不全,我只記錄了我用到的,完整的函數可以查查手冊)

日期和時間函數

獲取當前日期GetDate

select getdate()

GetUTCDate 獲取UTC時間值

select GETUTCDATE()

單獨獲取年月日

select year(getdate())
select month(getdate())
select day(getdate())

日期減法 DATEDIFF

select datediff(YYYY,'2011-11-11','2012-12-12')    --輸出1 年份相減之后的確是1
select datediff(day,'2011-11-11','2012-12-12')     --輸出 397 兩個日期相差的天數

SQLServer 2008中新增的日期時間型函數

1、獲取系統時間 SysDateTime()
2、獲取當前日期和時間 SysDateTimeOffset
3、獲取系統UTC時間 SysUTCDateTime
4、Current_TimeStamp當前數據庫系統時間戳
5、判斷是否為日期數據isDate
		select isdate('2012-12-12')    -- 輸出1
     select isdate('xxxx-12-12')  -- 輸出0

(函數可能不全,我只記錄了部分,完整的函數可以查查手冊)

MID() 從文本字段中提取字符。

SELECT MID(City,1,3) as SmallCity FROM Persons

ROUND() 函數 數值字段舍入為指定的小數位數。

SELECT ROUND(column_name,decimals) FROM table_name

NOW() 函數 返回當前的日期和時間。

SELECT NOW() FROM table_name

FORMAT () 用于對字段的顯示進行格式化。

select FORMAT(stu_intime,'yyyy-MM-dd hh:mm:ss') as intime from stu

SELECT INTO 從一個表中選取數據,然后把數據插入另一個表中。

select stu_name,stu_id into stu1 from stu   --將stu表中的stu_id和stu_name插入新表stu1(會創建一個新表)

sql server 中沒有limit 但是有top

/*查詢 從n開始的m條數據 */
  declare @n int=2;
  declare @m int = 5;
  select top (@m) * from stu
  where id not in (select top (@n) id from stu)

  /*查詢n到m之間的數據*/
  declare @n int=2;
  declare @m int = 5;
  select top (@m-@n+1) * from stu
  where id not in (select top (@n-1) id from stu)

BETWEEN … AND 會選取介于兩個值之間的數據范圍。這些值可以是數值、文本或者日期。

/* 查詢id 1 到3 的數據 */
  select * from stu where id between '1' and '3'

ALTER TABLE 語句用于在已有的表中添加、修改或刪除列。

 alter table stu add stu_sj varchar(200)   --添加一列名為stu_sj

 alter table stu drop column stu_sj  --刪除列

DISTINCT 用于返回唯一不同的值。

/* 返回名字,重復的不返回 */
  select distinct stu_name from stu

到此,相信大家對“SQLServer常用函數有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女