SQL函数大全,常用系统函数
分类:数据库

摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明,

系统函数用于获取有关计算机系统、用户、数据库和数据库对象的信息。系统函数可以让用户在得到信息后,使用条件语句,根据返回的信息进行不同的操作。与其它函数一样,可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用系统函数。 
·COL_LENGTH() COL_LENGTH() 函数语法如下:
COL_LENGTH (<'table_name'>, <'column_name'>)
COL_LENGTH() 函数返回表中指定字段的长度值。其返回值为INT 类型。
·COL_NAME() COL_NAME() 函数语法如下:
COL_NAME (<table_id>, <column_id>)
COL_NAME() 函数返回表中指定字段的名称,即列名。其返回值为SYSNAME 类型。其中table_id 和column_id 都是INT 类型的数据,函数用table_id 和column_id 参数来生成列名字符串。关于如何获得table_id 和column_id, 请参见OBJECT_ID() 函数。
·DATALENGTH() DATALENGTH() 函数语法如下:
DATALENGTH (<expression>)
DATALENGTH() 函数返回数据表达式的数据的实际长度。其返回值类型为INT。DATALENGTH() 函数对VARCHAR、 VARBINARY、 TEXT、 IMAGE、 NVARCHAR和NTEX 等能存储变动长度数据的数据类型特别实用。NULL 的长度为NULL。

  

一、标识列的定义以及特点
SQL Server中的标识列又称标识符列,习惯上又叫自增列。
该种列具有以下三种特点:
1、列的数据类型为不带小数的数值类型
2、在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值
3、列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列。
由于以上特点,使得标识列在数据库的设计中得到广泛的使用。
二、标识列的组成
创建一个标识列,通常要指定三个内容:
1、类型(type)
在SQL Server 2000中,标识列类型必须是数值类型,如下:
decimal、int、numeric、smallint、bigint 、tinyint
其中要注意的是,当选择decimal和numeric时,小数位数必须为零
另外还要注意每种数据类型所有表示的数值范围
2、种子(seed)
是指派给表中第一行的值,默认为1
3、递增量(increment)
相邻两个标识值之间的增量,默认为1。
三、标识列的创建与修改
标识列的创建与修改,通常在企业管理器和用Transact-SQL语句都可实现,使用企业管理管理器比较简单,请参考SQL Server的联机帮助,这
里只讨论使用Transact-SQL的方法
1、创建表时指定标识列
标识列可用 IDENTITY 属性建立,因此在SQL Server中,又称标识列为具有IDENTITY属性的列或IDENTITY列。
下面的例子创建一个包含名为ID,类型为int,种子为1,递增量为1的标识列
CREATE TABLE T_test
(ID int IDENTITY(1,1),
Name varchar(50)
)
2、在现有表中添加标识列
下面的例子向表T_test中添加一个名为ID,类型为int,种子为1,递增量为1的标识列
--创建表
CREATE TABLE T_test
(Name varchar(50)
)
--插入数据
INSERT T_test(Name) VALUES('张三')
--增加标识列
ALTER TABLE T_test
ADD ID int IDENTITY(1,1)
3、判段一个表是否具有标识列
可以使用 OBJECTPROPERTY 函数确定一个表是否具有 IDENTITY(标识)列,用法:
Select OBJECTPROPERTY(OBJECT_ID('表名'),'TableHasIdentity')
如果有,则返回1,否则返回0
4、判断某列是否是标识列
可使用 COLUMNPROPERTY 函数确定 某列是否具有IDENTITY 属性,用法
SELECT COLUMNPROPERTY( OBJECT_ID('表名'),'列名','IsIdentity')
如果该列为标识列,则返回1,否则返回0
4、查询某表标识列的列名
SQL Server中没有现成的函数实现此功能,实现的SQL语句如下
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.columns
WHERE TABLE_NAME='表名' AND COLUMNPROPERTY(
OBJECT_ID('表名'),COLUMN_NAME,'IsIdentity')=1
5、标识列的引用
如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替
例如,若要查询上例中ID等于1的行,
以下两条查询语句是等价的
SELECT * FROM T_test WHERE IDENTITYCOL=1
SELECT * FROM T_test WHERE ID=1
6、获取标识列的种子值
可使用函数IDENT_SEED,用法:
SELECT IDENT_SEED ('表名')
7、获取标识列的递增量
可使用函数IDENT_INCR ,用法:
SELECT IDENT_INCR('表名')
8、获取指定表中最后生成的标识值
可使用函数IDENT_CURRENT,用法:
SELECT IDENT_CURRENT('表名')
注意事项:当包含标识列的表刚刚创建,为经过任何插入操作时,使用IDENT_CURRENT函数得到的值为标识列的种子值,这一点在开发数据库应用程序的时候尤其应该注意。

如下所示:

· DB_ID() DB_ID() 函数语法如下:
DB_ID (['database_name'])
DB_ID() 函数返回数据库的编号。其返回值为SMALLINT 类型。如果没有指定database_name, 则返回当前数据库的编号。

一.聚合函数
AVG 返回组中值的平均值。空值将被忽略
BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值。BINARY_CHECKSUM 可用于检测表中行的更改
CHECKSUM 返回在表的行上或在表达式列表上计算的校验值。CHECKSUM 用于生成哈希索引
CHECKSUM_AGG 返回组中值的校验值。空值将被忽略
COUNT 返回组中项目的数量
COUNT_BIG 返回组中项目的数量。COUNT_BIG 的使用与 COUNT 函数相似。它们之间的唯一差别是它们的返回值:COUNT_BIG 总是返回 bigint 数据类型值,而 COUNT 则总是返回 int 数据类型值
GROUPING "是一个聚合函数,它产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0。
仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相联系的选择列表中才允许分组"
MAX 返回表达式的最大值
MIN 返回表达式的最小值
SUM 返回表达式中所有值的和,或只返回 DISTINCT 值。SUM 只能用于数字列。空值将被忽略
STDEV 返回给定表达式中所有值的统计标准偏差
STDEVP 返回给定表达式中所有值的填充统计标准偏差
VAR 返回给定表达式中所有值的统计方差。
VARP 返回给定表达式中所有值的填充的统计方差。

利用 SQL 语句修改出一个标识列使用sql语句创建修改SQL <wbr>Server标识列(即自动增长列)
--将数据复制到临时表
select * into #aclist from aclist

sqlserver聚合函数教程:
mssql sqlserver avg聚合函数使用简介
mssql sqlserver CHECKSUM_AGG聚合函数使用简介
mssql sqlserver count聚合函数使用简介
mssql sqlserver count_big聚合函数使用简介
mssql sqlserver grouping聚合函数使用简介
mssql sqlserver grouping_id聚合函数使用简介
mssql sqlserver max及min聚合函数使用简介
mssql sqlserver stdev及stdevp聚合函数使用简介
mssql sqlserver sum聚合函数使用简介
mssql sqlserver var及varp聚合函数使用简介
sqlserver分析函数教程:
mssql sqlserver CUME_DIST分析函数使用简介
mssql sqlserver CUME_DIST分析函数原理说明
mssql sqlserver FIRST_VALUE LAST_VALUE分析函数使用简介
mssql sqlserver LAG lead分析函数使用简介
mssql sqlserver PERCENTILE_CONT分析函数使用简介
mssql sqlserver PERCENTILE_DISC分析函数使用简介
mssql sqlserver PERCENT_RANK分析函数使用简介
sqlserver系统全局变量教程:
mssql sqlserver @@DBTS全局变量简介
mssql sqlserver @@LANGID全局变量简介
mssql sqlserver @@LOCK_TIMEOUT全局变量简介
mssql sqlserver @@MAX_CONNECTIONS全局变量简介
mssql sqlserver @@MAX_PRECISION全局变量简介
mssql sqlserver @@NESTLEVEL全局变量简介
mssql sqlserver @@REMSERVER全局变量简介
mssql sqlserver @@SERVERNAME全局变量简介
mssql sqlserver @@SERVICENAME全局变量简介
mssql sqlserver @@SPID全局变量简介
mssql sqlserver @@VERSION全局变量简介
sqlserver数值类型转换函数教程:
mssql sqlserver cast数值转换函数用法简介
mssql sqlserver cast及convert数值转换函数用法简介
mssql sqlserver parse数值转换函数用法简介
mssql sqlserver TRY_CAST数值转换函数用法简介
mssql sqlserver TRY_CONVERT数值转换函数用法简介
mssql sqlserver TRY_PARSE数值转换函数用法简介
sqlserver循环相关类函数教程:
mssql sqlserver @@CURSOR_ROWS循环相关类函数用法简介
mssql sqlserver @@FETCH_STATUS循环相关类函数用法简介
mssql sqlserver CURSOR_STATUS循环相关类函数用法简介
mssql sqlserver_sql流程控制语句while循环关键字用法简介
mssql sqlserver 模拟for循环的写法
mssql sqlserver 遍历循环的新方法
sqlserver数据类型相关函数教程:
mssql sqlserver DATALENGTH数据类型相关函数用法简介
mssql sqlserver IDENT_CURRENT数据类型相关函数用法简介
mssql sqlserver IDENT_INCR数据类型相关函数用法简介
mssql sqlserver IDENT_SEED数据类型相关函数用法简介
mssql sqlserver IDENTITY数据类型相关函数用法简介
mssql sqlserver SQL_VARIANT_PROPERTY数据类型相关函数用法简介
sqlserver 时间及日期相关函数教程:
mssql sqlserver @@DATEFIRST时间及日期相关函数用法简介
mssql sqlserver CURRENT_TIMESTAMP时间及日期相关函数用法简介
mssql sqlserver DATEADD时间及日期相关函数用法简介
mssql sqlserver DATEDIFF时间及日期相关函数用法简介
mssql sqlserver DATEDIFF_BIG时间及日期相关函数用法简介
mssql sqlserver DATEFROMPARTS时间及日期相关函数用法简介
mssql sqlserver DATENAME时间及日期相关函数用法简介
mssql sqlserver DATEPART时间及日期相关函数用法简介
mssql sqlserver DATETIME2FROMPARTS时间及日期相关函数用法简介
mssql sqlserver DATETIMEFROMPARTS时间及日期相关函数用法简介
mssql sqlserver DATETIMEOFFSETFROMPARTS时间及日期相关函数用法简介
mssql sqlserver DAY时间及日期相关函数用法简介
mssql sqlserver EOMONTH时间及日期相关函数用法简介
mssql sqlserver GETDATE时间及日期相关函数用法简介
mssql sqlserver GETUTCDATE时间及日期相关函数用法简介
mssql sqlserver ISDATE时间及日期相关函数用法简介
mssql sqlserver MONTH时间及日期相关函数用法简介
mssql sqlserver SMALLDATETIMEFROMPARTS时间及日期相关函数用法简介
mssql sqlserver SWITCHOFFSET时间及日期相关函数用法简介
mssql sqlserver SYSDATETIME时间及日期相关函数用法简介
mssql sqlserver SYSDATETIMEOFFSET时间及日期相关函数用法简介
mssql sqlserver SYSUTCDATETIME时间及日期相关函数用法简介
mssql sqlserver TIMEFROMPARTS时间及日期相关函数用法简介
mssql sqlserver TODATETIMEOFFSET时间及日期相关函数用法简介
mssql sqlserver YEAR时间及日期相关函数用法简介
mssql sql server 常用日期转换方法分享 (convert datetime)
sqlserver JSON相关函数教程:
mssql sqlserver ISJSON相关函数用法简介
sqlserver 数学函数教程:
mssql sqlserver ABS数学函数用法简介
mssql sqlserver ACOS数学函数用法简介
mssql sqlserver ASIN数学函数用法简介
mssql sqlserver ATAN数学函数用法简介
mssql sqlserver ATN2数学函数用法简介
mssql sqlserver CEILING数学函数用法简介
mssql sqlserver COS数学函数用法简介
mssql sqlserver COT数学函数用法简介
mssql sqlserver DEGREES数学函数用法简介
mssql sqlserver EXP数学函数用法简介
mssql sqlserver FLOOR数学函数用法简介
mssql sqlserver LOG数学函数用法简介
mssql sqlserver LOG10数学函数用法简介
mssql sqlserver PI数学函数用法简介
mssql sqlserver POWER数学函数用法简介
mssql sqlserver RADIANS数学函数用法简介
mssql sqlserver RAND数学函数用法简介
mssql sqlserver ROUND数学函数用法简介
mssql sqlserver SIGN数学函数用法简介
mssql sqlserver SIN数学函数用法简介
mssql sqlserver SQRT数学函数用法简介
mssql sqlserver SQUARE数学函数用法简介
mssql sqlserver TAN数学函数用法简介
sqlserver 逻辑函数教程:
mssql sqlserver CHOOSE逻辑函数用法简介
mssql sqlserver IIF逻辑函数用法简介
sqlserver 元数据教程:
mssql sqlserver @@PROCID元数据用法简介
mssql sqlserver APP_NAME元数据用法简介
mssql sqlserver ASSEMBLYPROPERTY元数据用法简介
mssql sqlserver COL_LENGTH COL_NAME COLUMNPROPERTY元数据用法简介
mssql sqlserver DATABASE_PRINCIPAL_ID元数据用法简介
mssql sqlserver DATABASEPROPERTYEX元数据用法简介
mssql sqlserver DB_ID DB_NAME元数据用法简介
mssql sqlserver FILE_ID元数据用法简介
mssql sqlserver FILE_IDEX元数据用法简介
mssql sqlserver FILE_NAME元数据用法简介
mssql sqlserver FILEGROUP_ID元数据用法简介
mssql sqlserver FILEGROUP_NAME元数据用法简介
mssql sqlserver FILEGROUPPROPERTY元数据用法简介
mssql sqlserver FILEPROPERTY元数据用法简介
mssql sqlserver FULLTEXTCATALOGPROPERTY元数据用法简介
mssql sqlserver FULLTEXTSERVICEPROPERTY元数据用法简介
mssql sqlserver INDEX_COL元数据用法简介
mssql sqlserver INDEXKEY_PROPERTY元数据用法简介
mssql sqlserver INDEXPROPERTY元数据用法简介
mssql sqlserver OBJECT_DEFINITION元数据用法简介
mssql sqlserver OBJECT_ID元数据用法简介
mssql sqlserver OBJECT_NAME元数据用法简介
mssql sqlserver OBJECT_SCHEMA_NAME元数据用法简介
mssql sqlserver ORIGINAL_DB_NAME元数据用法简介
mssql sqlserver PARSENAME元数据用法简介
mssql sqlserver SCHEMA_ID元数据用法简介
mssql sqlserver SCHEMA_NAME元数据用法简介
mssql sqlserver SCOPE_IDENTITY元数据用法简介
mssql sqlserver SERVERPROPERTY元数据用法简介
mssql sqlserver STATS_DATE元数据用法简介
mssql sqlserver TYPE_ID元数据用法简介
mssql sqlserver TYPE_NAME元数据用法简介
mssql sqlserver TYPEPROPERTY元数据用法简介
sqlserver 排名函数教程:
mssql sqlserver 分组排序函数row_number、rank、dense_rank用法简介及说明
row_number() rank() dense_rank() 排名函数的用途及区别
sqlserver 复制函数教程:
mssql sqlserver PUBLISHINGSERVERNAME 关键字功能说明
sqlserver 集合获取函数:
mssql sqlserver OPENDATASOURCE集合获取函数简介
mssql sqlserver OPENJSON集合获取函数简介
mssql sqlserver OPENQUERY集合获取函数简介
mssql sqlserver OPENROWSET集合获取函数简介
mssql sqlserver OPENXML集合获取函数简介
sqlserver字符串函数教程:
mssql sqlserver ASCII字符串函数简介
mssql sqlserver CHAR字符串函数简介
mssql sqlserver CHARINDEX字符串函数简介
mssql sqlserver CONCAT字符串函数简介
mssql sqlserver CONCAT_WS字符串函数简介
mssql sqlserver DIFFERENCE字符串函数简介
mssql sqlserver FORMAT字符串函数简介
mssql sqlserver LEFT字符串函数简介
mssql sqlserver LEN字符串函数简介
mssql sqlserver LOWER字符串函数简介
mssql sqlserver LTRIM字符串函数简介
mssql sqlserver NCHAR字符串函数简介
mssql sqlserver PATINDEX字符串函数简介
mssql sqlserver QUOTENAME字符串函数简介
mssql sqlserver REPLACE字符串函数简介
mssql sqlserver REPLICATE字符串函数简介
mssql sqlserver REVERSE字符串函数简介
mssql sqlserver RIGHT字符串函数简介
mssql sqlserver RTRIM字符串函数简介
mssql sqlserver SOUNDEX字符串函数简介
mssql sqlserver SPACE字符串函数简介
mssql sqlserver STR字符串函数简介
mssql sqlserver错误修复-“string_split无效的对象名称”
mssql sqlserver STUFF字符串函数简介
mssql sqlserver SUBSTRING字符串函数简介
mssql sqlserver UNICODE字符串函数简介
mssql sqlserver UPPER字符串函数简介
sqlserver系统函数教程:
mssql sqlserver $PARTITION系统函数简介
mssql sqlserver @@ERROR系统函数简介
mssql sqlserver @@IDENTITY系统函数简介
mssql sqlserver @@PACK_RECEIVED系统函数简介
mssql sqlserver @@ROWCOUNT系统函数简介
mssql sqlserver @@TRANCOUNT系统函数简介
mssql sqlserver BINARY_CHECKSUM系统函数简介
mssql sqlserver CONNECTIONPROPERTY系统函数简介
mssql sqlserver HOST_ID host_name系统函数简介
mssql sqlserver ISNULL系统函数简介
mssql sqlserver ISNUMERIC系统函数简介
mssql sqlserver NEWID系统函数简介
mssql sqlserver ROWCOUNT_BIG系统函数简介
sqlserver 系统统计函数:
mssql sqlserver @@CONNECTIONS系统统计函数简介
mssql sqlserver @@CPU_BUSY系统统计函数简介
mssql sqlserver @@IDLE系统统计函数简介
mssql sqlserver @@IO_BUSY系统统计函数简介
mssql sqlserver @@PACK_SENT系统统计函数简介
mssql sqlserver @@PACKET_ERRORS系统统计函数简介
mssql sqlserver @@TIMETICKS系统统计函数简介
mssql sqlserver @@TOTAL_ERRORS系统统计函数简介
mssql sqlserver @@TOTAL_READ系统统计函数简介
mssql sqlserver @@TOTAL_WRITE系统统计函数简介

·DB_NAME() DB_NAME() 函数语法如下:
DB_NAME (database_id)
DB_NAME() 函数返回数据库的名称.其返回值类型为NVARCHAR (128). database_id是SMALLINT 类型的数据.如果没有指定database_id, 则返回当前数据库的名称.· FORMATMESSAGE()
·GETANSINULL() GETANSINULL() 函数语法如下:
GETANSINULL() (['database_name'])
GETANSINULL() 函数返回当前数据库默认的NULL 值.其返回值类型为INT.GETANSINULL() 函数对ANSI 空值NULL 返回1; 如果没有定义ANSI 空值,则返回0.

二.数学函数
ABS 返回给定数字表达式的绝对值
ACOS 返回以弧度表示的角度值,该角度值的余弦为给定的 float 表达式;本函数亦称反余弦。
ASIN 返回以弧度表示的角度值,该角度值的正弦为给定的 float 表达式;亦称反正弦
ATAN 返回以弧度表示的角度值,该角度值的正切为给定的 float 表达式;亦称反正切
ATN2 返回以弧度表示的角度值,该角度值的正切介于两个给定的 float 表达式之间;亦称反正切
CEILING 返回大于或等于所给数字表达式的最小整数
COS 一个数学函数,返回给定表达式中给定角度(以弧度为单位)的三角余弦值
COT 一个数学函数,返回给定 float 表达式中指定角度(以弧度为单位)的三角余切值
DEGREES 当给出以弧度为单位的角度时,返回相应的以度数为单位的角度
EXP 返回所给的 float 表达式的指数值
FLOOR 返回小于或等于所给数字表达式的最大整数
LOG 返回给定 float 表达式的自然对数
LOG10 返回给定 float 表达式的以 10 为底的对数
PI 返回 PI 的常量值
POWER 返回给定表达式乘指定次方的值
RADIANS 对于在数字表达式中输入的度数值返回弧度值
RAND 返回 0 到1 之间的随机float 值
ROUND 返回数字表达式并四舍五入为指定的长度或精度
SIGN 返回给定表达式的正 ( 1)、零 (0) 或负 (-1) 号
SIN 以近似数字 (float) 表达式返回给定角度(以弧度为单位)的三角正弦值
SQUARE 返回给定表达式的平方
SQRT 返回给定表达式的平方根
TAN 返回输入表达式的正切值
三.日期函数
DATEADD 在向指定日期加上一段时间的基础上,返回新的 datetime 值。
DATEDIFF 返回跨两个指定日期的日期和时间边界数
DATENAME 返回代表指定日期的指定日期部分的字符串
SQL函数大全,常用系统函数。DATEPART 返回代表指定日期的指定日期部分的整数
DAY 返回代表指定日期的天的日期部分的整数
GETDATE 按 datetime 值的 Microsoft? SQL Server? 标准内部格式返回当前系统日期和时间
GETUTCDATE 返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值
MONTH 返回代表指定日期月份的整数
YEAR 返回表示指定日期中的年份的整数
四.系统函数
APP_NAME 返回当前会话的应用程序名称(如果应用程序进行了设置)。
CASE 表达式 计算条件列表并返回多个可能结果表达式之一(详见PPT资料)
CAST 和 CONVERT 将某种数据类型的表达式显式转换为另一种数据类型(详见PPT资料)
COALESCE 返回其参数中第一个非空表达式
COLLATIONPROPERTY 返回给定排序规则的属性
CURRENT_TIMESTAMP 返回当前的日期和时间。此函数等价于 GETDATE()
CURRENT_USER 返回当前的用户。此函数等价于 USER_NAME()
DATALENGTH 返回任何表达式所占用的字节数
@@ERROR 返回最后执行的 Transact-SQL 语句的错误代码
fn_helpcollations 返回 Microsoft? SQL Server? 2000 支持的所有排序规则的列表。
fn_servershareddrives 返回由群集服务器使用的共享驱动器名称
fn_virtualfilestats 返回对数据库文件(包括日志文件)的 I/O 统计
FORMATMESSAGE 从 sysmessages 现有的消息构造消息。FORMATMESSAGE 与 RAISERROR 语句的功能相似;但 RAISERROR 立即输出消息而 FORMATMESSAGE 返回编辑后的信息供进一步处理
GETANSINULL 返回会话的数据库的默认为空性。
HOST_ID 返回工作站标识号。
HOST_NAME 返回工作站名称。
IDENT_CURRENT 返回为任何会话和任何作用域中的指定表最后生成的标识值。
IDENT_INCR 返回增量值(返回形式为 numeric(@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的
IDENT_SEED 返回种子值(返回形式为 numeric(@@MAXPRECISION,0)),该值是在带有标识列的表或视图中创建标识列时指定的
@@IDENTITY 返回最后插入的标识值
IDENTITY(函数) 只用在带有 INTO table 子句的 SELECT 语句中,以将标识列插入到新表中。尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。(自动采番时可以起到作用)
ISDATE 确定输入表达式是否为有效的日期
ISNULL 使用指定的替换值替换 NULL
ISNUMERIC 确定表达式是否为一个有效的数字类型
NEWID 创建 uniqueidentifier 类型的唯一值
NULLIF 如果两个指定的表达式相等,则返回空值。
PARSENAME 返回对象名的指定部分。可以检索的对象部分有对象名、所有者名称、数据库名称和服务器名称
PERMISSIONS 返回一个包含位图的值,表明当前用户的语句、对象或列权限。
@@ROWCOUNT 返回受上一语句影响的行数
ROWCOUNT_BIG 返回受执行的最后一个语句影响的行数。该函数的功能与 @@ROWCOUNT 一样,除非 ROWCOUNT_BIG 的返回类型是 bigint。
SCOPE_IDENTITY 返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。
SERVERPROPERTY 返回有关服务器实例的属性信息
SESSIONPROPERTY 返回会话的 SET 选项设置
SESSION_USER 是一个 niladic 函数,允许在未指定默认值时将系统为当前会话的用户名提供的值插入到表中。还允许在查询、错误信息等中使用用户名
STATS_DATE 返回最后一次更新指定索引统计的日期
SYSTEM_USER 返回当前系统用户名
@@TRANCOUNT 返回当前连接的活动事务数
USER_NAME 返回给定标识号的用户数据库用户名
五.字符函数
ASCII 返回字符表达式最左端字符的ASCII代码值。
CHAR 将intASCII代码转换为字符的字符串函数。
CHARINDEX 返回字符串中指定表达式的起始位置
DIFFERENCE 以整数返回两个字符表达式的SOUNDEX值之差。
LEFT 返回字符串中从左边开始指定个数的字符。
LEN 返回给定字符串表达式的字符(而不是字节)个数,其中不包含尾随空格
LOWER 将大写字符数据转换为小写字符数据后返回字符表达式。
LTRIM 删除起始空格后返回字符表达式
NCHAR 根据Unicode标准所进行的定义,用给定整数代码返回Unicode字符
PATINDEX 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零
REPLACE 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式
QUOTENAME 返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的Microsoft?SQLServer?分隔标识符。
REPLICATE 以指定的次数重复字符表达式
REVERSE 返回字符表达式的反转。
RIGHT 返回字符串中从右边开始指定个数的字符
RTRIM 截断所有尾随空格后返回一个字符串
SOUNDEX 返回由四个字符组成的代码(SOUNDEX)以评估两个字符串的相似性
SPACE 返回由重复的空格组成的字符串
STR 由数字数据转换来的字符数据
STUFF 删除指定长度的字符并在指定的起始点插入另一组字符
SUBSTRING 返回字符、binary、text或image表达式的一部分
UNICODE 按照Unicode标准的定义,返回输入表达式的第一个字符的整数值
UPPER 返回将小写字符数据转换为大写的字符表达式

--删除数据表
drop table aclist

·HOST_ID() HOST_ID() 函数语法如下:
HOST_ID()
HOST_ID() 函数返回服务器端计算机的名称.其返回值类型为NCHAR.
·HOST_NAME() HOST_NAME() 函数语法如下:
HOST_NAME()
HOST_NAME() 函数返回服务器端计算机的名称.其返回值类型为CHAR (8).
·IDENTITY() IDENTITY() 函数语法如下:
IDENTITY (<data_type>[, seed, increment]) [AS column_name])
IDENTITY() 函数只在SELECT...INTO 语句中使用,用于插入一个identity column列到新表中.其返回值类型与data_type 的类型相同.
其中:
data_type 指定数据类型.data type 是INTEGER 或DECIMAL 类的数据类型.Seed指定identity column 的初值,即第一个值.Increment 指定增加一个记录时,记录的identity column 值应在前记录的基础上增加的值.seed 和increment 的缺省值为1.column_name 是所插入的identity column 的列名.虽然AS column_name 为可选项,但由于函数在表中插入了一个新列,所以必须指定列名.如果不使用AS column_name 选项,可以使用以下两种方式来指定列名:
(1) select identity (int, 1, 1) as column_name
into newtable
from oldtable
(2) select column_name = identity (int, 1, 1)
into newtable
from oldtable
·IDENT_INCR() IDENT_INCR() 函数语法如下:
IDENT_INCR ('table_or_view')
IDENT_INCR() 函数返回表中标识性字段identity column 的增量.若无此字段,则返回NULL 值.其返回值类型为NUMERIC. 
·IDENT_SEED() IDENT_SEED() 函数语法如下:
IDENT_SEED (<'table_or_view'>)
IDENT_SEED() 函数返回表中标识性字段identity column 的初值.若无此字段,则返回NULL 值.其返回值类型为NUMERIC.
·INDEX_COL() INDEX_COL() 函数语法如下:
INDEX_COL (<'table_name'>, <index_id>, <key_id>)
INDEX_COL() 函数返回表内索引识别码为index_id 的索引的名称,并找出组成该索引的列组合中第key_id 个列名.其返回值类型为NCHAR.
·ISDATE() ISDATE() 函数语法如下:
ISDATE (<expression>)
ISDATE() 函数判断所给定的表达式是否为合理日期,如果是则返回1, 不是则返回0.
·ISNULL() ISNULL() 函数语法如下:
ISNULL (<check_expression>, <replacement_value>)
ISNULL() 函数将表达式中的NULL 值用指定值替换.如果check_expresssion 不是NULL, 则返回其原来的值,否则,返回replacement_value 的值.
提醒:reaplacement_value的数据类型应与chech_expresssion一致.
·ISNUMERIC() ISNUMERIC() 函数语法如下:
ISNUMERIC (<expression>)
ISNUMERIC() 函数判断所给定的表达式是否为合理的数值(INTEGER、 FLOATING POINT NUMBER、 MONEY 或DECIMAL 类型),如果是则返回1, 不是则返回0.
提醒:检查MONEY型数据时,应先用CONVERT()函数将其转换为数值型或字符型。
·NEWID NEWID() 函数语法如下:
NEWID()
NEWID() 函数返回一个UNIQUEIDENTIFIER 类型的数值.此函数使用计算机的网卡的Ethernet 地址加上经由CPU Clock 产生的数字而得到其返回值.由于网卡的Ethernet地址是全球惟一的(在未来近一百年内不会生产出相同Ethernet 地址的网卡),因而函数所产生的数字也是惟一的.

--创建数据表(并设置标识列)
create table aclist(id int identity(1,1),[date] datetime,version nvarchar(6),[class] nvarchar(10),actitle nvarchar(50),acdetail nvarchar(max),author nvarchar(50))

·NULLIF() NULLIF() 函数语法如下:
NULLIF (<expression1>, <expression2>)
NULLIF() 函数在expression1 与expression2 相等时返回NULL 值,若不相等时则返回expression1 的值.其返回值类型与expression1 相同.expression1 与expression2 应为同类的数据类型.
·OBJECT_ID() OBJECT_ID() 函数语法如下:
OBJECT_ID (<'object_name'>)
OBJECT_ID() 函数返回数据库对象的编号.其返回值类型为INT.
提醒:当指定一个临时表的表名时,其表名的前面必须加上临时数据库名"tempdb",如:select object_id("tempdb..#mytemptable").
·OBJECT_NAME() OBJECT_NAME() 函数语法如下:
OBJECT_NAME (<object_id>)
OBJECT_NAME() 函数返回数据库对象的名称.其返回值类型为NCHAR.

--设置标识列允许插入
set identity_insert aclist on

·PARSENAME()
PARSENAME() 函数语法如下:
PARSENAME (<'object_name '>, <object_piece>)
PARSENAME() 函数返回一个数据库对象完整名称中的特定部分(对象名称或数据库拥有者名称或数据库名称或服务器名称).其返回值类型为NCHAR.
其中object_piece 为INT 类型,其取值如下:
  对象名称Object name;
  数据库拥有者名称Owner name;
  数据库名称Database name;
  服务器名称Server name.
如果object_name 或object_piece 为NULL, 则返回NULL 值.

--将数据从临时表转移过来
insert into aclist(id,[date],version,[class],actitle,acdetail,author)
select id,[date],version,[class],actitle,acdetail,author from #aclist

·STATS_DATE() STATS_DATE() 函数语法如下:
STATS_DATE (<table_id>, <index_id>)
STATS_DATE() 函数返回最新的索引统计日期.其返回值类型为DATETIME.
·SUSER_SID()
SUSER_ SID() 函数语法如下:
SUSER_SID (['login_name'])
SUSER_SID() 函数根据用户登录名返回用户的SID (Security Identification Number,安全帐户名)号.其返回值类型为INT. 如果不指定login_name, 则返回当前用户的SID号.
·SUSER_SNAME() SUSER_SNAME() 函数语法如下:
SUSER_SNAME ([server_user_sid])
SUSER_SNAME() 函数根据SID 号返回用户的登录名.如果没有指定server_user_sid,则返回当前用户的登录名.其返回值类型为NCHAR.
·USER_ID() USER_ID() 函数语法如下:
USER_ID (['user_name'])
USER_ID() 函数根据用户数据库的用户名返回用户的数据库ID 号.其返回值类型为INT. 如果没有指定user_name, 则返回当前用户的数据库ID 号.
·USER_NAME() USER_NAME() 函数语法如下:
USER_NAME ([user_id])
USER_NAME() 函数根据用户的数据库ID 号返回用户的数据库用户名.其返回值类型为NCHAR. 如果没有指定user_id, 则返回当前数据库的用户名.

--关闭标识列插入
set identity_insert aclist off

--强制设置标识列的起始值:
DBCC CHECKIDENT (表名, RESEED, 1) --强制使标识值从1开始.

 


修改原有字段中,不删除表,直接修改表中字段,删除数据后,处理。

---创建没有自动增长的数据表
CREATE TABLE [tbMessage](
[id] [decimal](18, 0),
[msg_content] [varchar](max) NULL
) ON [PRIMARY]

GO
----插入测试数据
insert into [tbMessage]([id],[msg_content])
values(20,'你知道吗?')

insert into [tbMessage]([id],[msg_content])
values(21,'你知道吗?201')
go
--查看数据
---select * from tbMessage

--插入临时表
select * into #tbMessage from [tbMessage]
go
--删除表数据
delete [tbMessage]
go

--删除字段ID
alter table [tbMessage] drop column [ID]
---增加ID自动增长字段
alter table [tbMessage] add [id] int identity(1,1)

set identity_insert [tbMessage] on

--将数据从临时表转移过来

insert into [tbMessage]([msg_content]
,[id])
select [msg_content]
,[id] from #tbMessage

--关闭标识列插入
set identity_insert [tbMessage] off

---删除临时表

drop table #tbMessage

/*
drop table tbMessage
---------------检测自动增长字段是否正常----------
----获取种子数据
SELECT IDENT_SEED ('[tbMessage]')

---drop table tbMessage
---插入二条数据

insert into [tbMessage]([msg_content])
values('你知道吗20111')

insert into [tbMessage]([msg_content])
values('你知道吗20112')

---查看这个ID是否,正常增长
select * from tbMessage

*/

本文由澳门新萄京发布于数据库,转载请注明出处:SQL函数大全,常用系统函数

上一篇:澳门新萄京及不分析,MySQL查询前天 下一篇:没有了
猜你喜欢
热门排行
精彩图文
  • SQL函数大全,常用系统函数
    SQL函数大全,常用系统函数
    摘要:下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 系统函数用于获取有关计算机系统、用户、数据库和数据库对象的信息。系统函
  • SQL内外左右交叉连接,交叉连接
    SQL内外左右交叉连接,交叉连接
    在查询多少个表时,大家平常会用“连接查询”。连接是关周全据库模型的首要特色,也是它有别于于其余种类数据库管理种类的一个注脚。   SQL左右连接
  • 目录维护常用方法总括,SQLSEEscortVE宝马7系怎么着
    目录维护常用方法总括,SQLSEEscortVE宝马7系怎么着
    意气风发. 索引概述 关于介绍索引,有豆蔻梢头种“文章太史,挥毫万字,一饮千钟”的豪迈感觉,因为索引须求讲的知识点太多。在每一种关系型数据
  • 澳门新萄京采用的恢复方法
    澳门新萄京采用的恢复方法
    set rowcount 20000 delete from UFSystem..ua_log set rowcount 0 原文地址: truncate 表之后,采用的恢复方法 作者: ban仙 一、sybase创建用户数据库的脚本。 设置  trunca
  • Mysql数据库备份工具,逻辑备份
    Mysql数据库备份工具,逻辑备份
          几天前收到某个业务项目,MySQL数据库逻辑备份mysqldump备份失败的邮件,本是在休假,但本着工作认真负责,7*24小时不间断运维的高尚职业情操,开