sql server常用函數、常用語句


一、常用函數

1.字符串函數 :

charindex(':','abc:123')    --尋找一個字符在一段字符串中起始的位置

len('zhangsan')   --獲取一段字符串的長度

left('Ly,君子之耀',2) --從一段字符串左邊返回指定長度的字符

right(char_expr,int_expr)  --返回字符串右邊int_expr個字符

substring(expression,start,length) --截取字符串

datalength(Char_expr)  --返回字符串包含字符數,但不包含后面的空格

length(expression,variable)  --指定字符串或變量名稱的長度

concat(str1,str2,...)  --返回來自於參數連結的字符串

upper('Yang') --將一段小寫的字符串轉換為大寫

ltrim('   zhangsan') --去除一段字符左邊的空格

rtrim('zhang   san   ') --去除一段字符右邊的空格

stuff('abcdefg',2,4,'張三') --從指定的位置刪除指定長度的字符串並替換為新的字符串

replace('揚子之耀','揚子','君') --將一段字符串中指定的字符串替換為另一段字符串

 

2.日期,時間函數

getdate() --獲取當前系統時間

datename(datepart,date_expr) --指定日期字符串中指定時間段的字符串格式

datepart(datepart,date_expr) --獲取指定日期部分的整數形式

datediff(datepart,date_expr1.dateexpr2) --兩個時間段中指定的間隔部分

dateadd(datepart,number,date_expr) --將指定的數值添加到指定的日期段后

 

3.系統函數

suser_name() 用戶登錄名

user_name() 用戶在數據庫中的名字

user 用戶在數據庫中的名字

show_role() 對當前用戶起作用的規則

db_name() 數據庫名

object_name(obj_id) 數據庫對象名

col_name(obj_id,col_id) 列名

col_length(objname,colname) 列長度

valid_name(char_expr) 是否是有效標識符

 

二、常用語句--(列的增刪改)

1、增加列

  alter table tableName add columnName varchar(30)  

2、修改列類型

  alter table tableName alter column columnName varchar(4000) 

3、修改列名稱

  EXEC  sp_rename   'tableName.column1' , 'column2'  (把表名為tableName的column1列名修改為column2)  

4、刪除列

  alter table tableName drop column columnName  

 

三、常用語句--(復制表結構)

1:復制表結構及數據到新表

  select * into 目的數據庫名.dbo.目的表名 from 原表名

  select * into my0735home.dbo.infoMianTest from infoMian

2:備份表的一部分列(不寫*而寫出列的列表)

  select 列名1,列名2,列名3 into 目的數據庫名.dbo.目的表名 from 原表名

  select id,title,mtype,stype,author,tel,nr into infoMianTest2 from infomian

3:備份表的一部分行(加WHERE條件)

  select * into 目的數據庫名.dbo.目的表名 from 原表名 where id<10

  select * into infomiantest2 from infomian where id<10

4:備份表的一部分列(不寫*而寫出列的列表)和一部分行(加WHERE條件)

  select 列名1,列名2,列名3 into 目的數據庫名.dbo.目的表名 from 原表名 where  id<10

5:只復制表的結構:如:

  SELECT * INOT t1 FROM titles WHERE 1=2

6:查詢結果來源於多個表:如:

SELECT title_id,title,pub_name INTO t3

FROM titles t INNER JOIN publishers p

ON t.pub_id=p.pub_id

 

四、常用語句--(表數據去重) 

1:表中數據去掉重復

-- 先去重搜索、添加到臨時表
select * into #test from
(select * from t_rain_fac_year_amount_sum  
where id in 
(select max(id) from t_rain_fac_year_amount_sum group by site_code,monitor_point_code,monitor_factor_code,year)) a

--查看臨時表數據
select * from #test

--刪除原表
drop table t_rain_fac_year_amount_sum

--將臨時表數據插入原表
select * into t_rain_fac_year_amount_sum from #test

 

五、常用語句--(sql server截取字符串) 

 

SQL Server 中截取字符串常用的函數:  

1.LEFT ( character_expression , integer_expression )  
函數說明:LEFT ( '源字符串' , '要截取最左邊的字符數'  )  
返回從字符串左邊開始指定個數的字符  
select LEFT('SQL_Server_2008',4 );  
返回結果:SQL_  

2.RIGHT ( character_expression , integer_expression )  
函數說明:RIGHT ( '源字符串' , '要截取最右邊的字符數'  )  
返回字符串中從右邊開始指定個數的 integer_expression 字符  
select RIGHT('SQL_Server_2008',4 );  
返回結果:2008  

3.SUBSTRING ( character_expression , start , length )  
函數說明:SUBSTRING ( '源字符串' , '截取起始位置(含該位置上的字符)' , '截取長度' )  
返回字符、binary、text 或 image 表達式的一部分  
select SUBSTRING('SQL_Server_2008',5 ,6);  
返回結果:Server  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM