MSSQL常用函数

时间:2023-03-08 15:54:33
MSSQL常用函数

declare 定义变量 set 为变量赋值

SUBSTRING()函数

SUBSTRING ( expression, start, length )

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

start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。

length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。

CHARINDEX()函数

返回字符或者字符串在另一个字符串中的起始位置

select * from table_a where charindex('a',id)>0 or charindex('b',id)>0

table_a 表 id字段中含有"a"或者"b"的记录. 

CONVERT() 函数

把日期转换为新数据类型的通用函数。可以用不同的格式显示日期/时间数据。

CAST()函数

CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。以下例子用于将文本字符串'123'转换为整型:

SELECT CAST('123' AS int)

返回值是整型值123。如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢?

SELECT CAST('123.4' AS int)

CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于123.4不能用int数据类型来表示,所以对这个函数调用将产生一个错误:Server: Msg 245, Level 16, State 1, Line 1

Syntax error converting the varchar value

'123.4' to a column of data type int.

ROWCOUNT

DECLARE @n INT
SET @n = 1000
SET ROWCOUNT @n
DELETE FROM Table_1

写存储过程的时候应该注意尽量避免使用ROWCOUNT,而建议使用TOP。不过TOP关键后面的数字不能为变量而ROWCOUNT可以为变量,也许MS是出于担心开发者忘记了取消ROWCOUNT而影响正常的实现。

使用这样的语句即可取消ROWCOUNT了。

SET ROWCOUNT 0

返回查询行数之后停止处理查询。