sql server常用函数、常用语句
一、常用函數(shù)
1.字符串函數(shù) :
charindex(':','abc:123')??? --尋找一個字符在一段字符串中起始的位置
len('zhangsan')?? --獲取一段字符串的長度
left('Ly,君子之耀',2) --從一段字符串左邊返回指定長度的字符
right(char_expr,int_expr)? --返回字符串右邊int_expr個字符
substring(expression,start,length) --截取字符串
datalength(Char_expr)? --返回字符串包含字符數(shù),但不包含后面的空格
length(expression,variable)? --指定字符串或變量名稱的長度
concat(str1,str2,...) ?--返回來自于參數(shù)連結(jié)的字符串
upper('Yang') --將一段小寫的字符串轉(zhuǎn)換為大寫
ltrim('?? zhangsan') --去除一段字符左邊的空格
rtrim('zhang?? san?? ') --去除一段字符右邊的空格
stuff('abcdefg',2,4,'張三') --從指定的位置刪除指定長度的字符串并替換為新的字符串
replace('揚子之耀','揚子','君') --將一段字符串中指定的字符串替換為另一段字符串
?
2.日期,時間函數(shù)
getdate() --獲取當前系統(tǒng)時間
datename(datepart,date_expr) --指定日期字符串中指定時間段的字符串格式
datepart(datepart,date_expr) --獲取指定日期部分的整數(shù)形式
datediff(datepart,date_expr1.dateexpr2) --兩個時間段中指定的間隔部分
dateadd(datepart,number,date_expr) --將指定的數(shù)值添加到指定的日期段后
?
3.系統(tǒng)函數(shù)
suser_name() 用戶登錄名
user_name() 用戶在數(shù)據(jù)庫中的名字
user 用戶在數(shù)據(jù)庫中的名字
show_role() 對當前用戶起作用的規(guī)則
db_name() 數(shù)據(jù)庫名
object_name(obj_id) 數(shù)據(jù)庫對象名
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??
?
三、常用語句--(復制表結(jié)構)
1:復制表結(jié)構及數(shù)據(jù)到新表
select * into 目的數(shù)據(jù)庫名.dbo.目的表名 from 原表名
select * into my0735home.dbo.infoMianTest from infoMian
2:備份表的一部分列(不寫*而寫出列的列表)
select?列名1,列名2,列名3 into 目的數(shù)據(jù)庫名.dbo.目的表名 from 原表名
select id,title,mtype,stype,author,tel,nr into infoMianTest2 from infomian
3:備份表的一部分行(加WHERE條件)
select?* into 目的數(shù)據(jù)庫名.dbo.目的表名 from 原表名 where id<10
select * into infomiantest2 from infomian where id<10
4:備份表的一部分列(不寫*而寫出列的列表)和一部分行(加WHERE條件)
select?列名1,列名2,列名3 into 目的數(shù)據(jù)庫名.dbo.目的表名 from 原表名 where? id<10
5:只復制表的結(jié)構:如:
SELECT * INOT t1 FROM titles WHERE 1=2
6:查詢結(jié)果來源于多個表:如:
SELECT title_id,title,pub_name INTO t3
FROM titles t INNER JOIN publishers p
ON t.pub_id=p.pub_id
?
四、常用語句--(表數(shù)據(jù)去重)?
1:表中數(shù)據(jù)去掉重復
-- 先去重搜索、添加到臨時表 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--查看臨時表數(shù)據(jù) select * from #test--刪除原表 drop table t_rain_fac_year_amount_sum--將臨時表數(shù)據(jù)插入原表 select * into t_rain_fac_year_amount_sum from #test?
五、常用語句--(sql server截取字符串)?
?
SQL Server 中截取字符串常用的函數(shù): 1.LEFT ( character_expression , integer_expression ) 函數(shù)說明:LEFT ( '源字符串' , '要截取最左邊的字符數(shù)' ) 返回從字符串左邊開始指定個數(shù)的字符 select LEFT('SQL_Server_2008',4 ); 返回結(jié)果:SQL_ 2.RIGHT ( character_expression , integer_expression ) 函數(shù)說明:RIGHT ( '源字符串' , '要截取最右邊的字符數(shù)' ) 返回字符串中從右邊開始指定個數(shù)的 integer_expression 字符 select RIGHT('SQL_Server_2008',4 ); 返回結(jié)果:2008 3.SUBSTRING ( character_expression , start , length ) 函數(shù)說明:SUBSTRING ( '源字符串' , '截取起始位置(含該位置上的字符)' , '截取長度' ) 返回字符、binary、text 或 image 表達式的一部分 select SUBSTRING('SQL_Server_2008',5 ,6); 返回結(jié)果:Server?
轉(zhuǎn)載于:https://www.cnblogs.com/sxxjyj/p/6180711.html
總結(jié)
以上是生活随笔為你收集整理的sql server常用函数、常用语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到自己快要死了是什么意思
- 下一篇: dataTables本地刷新数据解决只能