记录用到的mssql的几个方法

1、RIGHT ( character_expression , integer_expression )

返回字符串中从右边开始指定个数的字符

character_expression

字符或二进制数据表达式。character_expression 可以是常量、变量或列。character_expression 可以是任何能够隐式转换为 varchar 或 nvarchar 的数据类型,但 text 或 ntext 除外。否则,请使用 CAST 函数对 character_expression 进行显式转换。

integer_expression

正整数,指定 character_expression 将返回的字符数。如果 integer_expression 为负,则会返回错误。integer_expression 可以是 bigint 类型。

eg:
SELECT RIGHT('This is a Test3', 5)
结果:Time3

2、LEFT方法同上。

3、LEN ( string_expression )

返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格。

string_expression
要计算的字符串。

返回类型
如果 expression 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max),则为 bigint;否则为 int。


eg:
SELECT LEN('1')
结果:1
如果不计算参数后面的空格,但参数前面的空格会计算在内。

4、CHARINDEX ( expression1 ,expression2 [ , start_location ] )

返回字符串中指定表达式的开始位置。

备注
如果 expression1 或 expression2 之一是 Unicode 数据类型(nvarchar 或 nchar)而另一个不是,则将另一个转换为 Unicode 数据类型。CHARINDEX 不能与 text、ntext 和 image 数据类型一起使用。

如果 expression1 或 expression2 之一为 NULL,并且数据库兼容级别为 70 或更高,则 CHARINDEX 将返回 NULL。如果数据库兼容级别为 65 或更低,则 CHARINDEX 将仅在 expression1 和 expression2 都为 NULL 时才返回 NULL 值。

如果在 expression1 内找不到 expression2,则 CHARINDEX 返回 0。

CHARINDEX 将根据输入的排序规则执行比较操作。若要以指定排序规则进行比较,则可以使用 COLLATE 将显式排序规则应用于输入值。

参数
expression1

一个表达式,其中包含要查找的字符的序列。expression1 是一个字符串数据类别的表达式。

expression2

一个表达式,通常是一个为指定序列搜索的列。expression2 属于字符串数据类别。

start_location

开始在 expression2 中搜索 expression1 时的字符位置。如果 start_location 未被指定、是一个负数或零,则将从 expression2 的开头开始搜索。start_location 可以是 bigint 类型。

返回类型
如果 expression2 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max),则为 bigint,否则为 int

eg:
SELECT CHARINDEX('-','W-22-4',2)
结果:2

5、SUBSTRING ( expression ,start , length )

返回字符表达式、二进制表达式、文本表达式或图像表达式的一部分。

参数
expression

是字符串、二进制字符串、文本、图像、列或包含列的表达式。不要使用包含聚合函数的表达式。

start

指定子字符串开始位置的整数。start 可以为 bigint 类型。

length

一个正整数,指定要返回的 expression 的字符数或字节数。如果 length 为负,则会返回错误。length 可以是 bigint 类型。

eg:
SELECT SUBSTRING('SqlServer_2005', 4, 6)
结果:Server


6、CAST ( expression AS data_type [ (length ) ])
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
将一种数据类型的表达式显式转换为另一种数据类型的表达式。CAST 和 CONVERT 提供相似的功能。

上一篇:mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享


下一篇:mssql sqlserver sql脚本自动遍历重复生成指定表记录