2024年2月10日发(作者:)
text只能被下列函数作用:
函数
DATALENGTH
PATINDEX
SUBSTRING
TEXTPTR
TEXTVALID
一.语句:
READTEXT
SET TEXTSIZE
UPDATETEXT
WRITETEXT
语句
EXT
DECLARE
@text
SELECT
@text = TEXTPTR(text) FROM asdf WHERE inttest = 1
WRITETEXT asdf.[text] @text 'New Moon Books (NMB) has just released another top ten
publication. '
varchar(200)
TEXT
DECLARE @TEXT VARCHAR(200)
SELECT @TEXT =TEXTPTR([text]) FROM asdf
UPDATETEXT asdf.[text] @TEXT NULL 0 'KSADHFDKJFH'
SELECT * FROM asdf
TEXTSIZE
INSERT asdf ([text]) VALUES('JSAHDKSAHF SDAFKDSHFIHSD SDFHKSDH ')
SET TEXTSIZE 10
SELECT * FROM asdf
SET TEXTSIZE 20
SELECT * FROM asdf
4. READTEXT
DECLARE @TEXT VARBINARY(16)
SELECT @TEXT = TEXTPTR([text]) FROM asdf WHERE inttest = 3
READTEXT asdf.[text] @TEXT 1 9
二.函数
1. DATALENGTH
DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储
可变长度数据。
R ()
TEXTPTR() 函数返回一个指向存储文本的第一个数据库页的指针.其返回值是一个VARBINARY (16)
类型的二进制字符串.如果数据类型为TEXT、 NTEXT 或IMAGE的列没有赋予初值,则TEXTPTR()
函数返回一个NULL 指针.
3.
TEXTVALID()
TEXTVALID() 函数语法如下:
TEXTVALID (<''>, )
TEXTVALID() 函数用于检查指定的文本指针是否有效.如果有效,则返回1; 无效,则返回0. 如果列未赋予初值,则返回NULL 值.
4. PATINDEX
返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
语法
PATINDEX ( '%pattern%' , expression )
参数
pattern
一个字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式。
expression
一个表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别。
返回类型
int
注释
PATINDEX 对 text 数据类型很有用;除 IS NULL、IS NOT NULL 和 LIKE(这些是 Where 子句中对 text 类型有效的仅有的其它比较运算)外,PATINDEX 也可用于 Where 子句中。
例一:
找出ries表中Description字段中是包含单词“Bread”或“bread”的所有记录,那么选择语句就可能是这样:
Select Description from ries
Where patindex('%[b,B]read%',description) > 0
PATINDEX 中可以使用通配符来确定大写和小写的“b”
例二:
找出ries表中Description字段中是包含单词“Bread”或“bread”,且第二子字母不是“e”的记录。
select Description from ries
where patindex('%[b,B]read%',description) > 0 and patindex('_[^e]%',description) = 1
通过在条件语句中增加一个使用^通配符的PATINDEX函数,我们可以过滤掉“Dessert, candies,
and sweet breads”这条记录。上面的查询结果只有一条记录。
5. SUBSTRING
SUBSTRING 用于返回字符,二进制,文本或图像表达式的一部分。
语法:SUBSTRING(EXPRESSION,START,LENGTH)
参数:
EXPRESSION : 用于返回字符,二进制,文本,图像,列或包含列的表达式。请勿使用聚合函数的表达式。
Start :整数或可以隐式转换为int的表达式,制定字符串的开始位置
Length:整数或可以隐式转换为int的表达式,制定字符串的长度。
Sql中substring的返回值:
如果expression是一种支持的字符数据类型,则返回字符数据。如果expression是一种支持的二进制数据类型,则返回二进制数据。
返回字符串类型与给定表达式的类型相同(下面所示内容除外)
给定表达式
Image
nText
Varbinary
nvarcha
返回类型
DEX
返回字符串中指定表达式的起始位置。
语法
CHARINDEX (
expression1
,
expression2 [ ,
start_location
] )
参数
expression1
一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。
expression2
一个表达式,通常是一个用于搜索指定序列的列。expression2
属于字符串数据类型分类。
start_location
在
expression2 中搜索
expression1 时的起始字符位置。如果没有给定
start_location,而是一个负数或零,则将从
expression2 的起始位置开始搜索。
返回类型
int
注释
如果
expression1 或
expression2
之一属于 Unicode 数据类型(nvarchar 或
nchar)而另一个不属于,则将另一个转换为 Unicode 数据类型。
如果
expression1 或
expression2 之一为 NULL 值,则当数据库兼容级别为
70 或更大时,CHARINDEX 返回 NULL 值。当数据库兼容级别为 65 或更小时,CHARINDEX 仅在
expression1 和
expression2 都为 NULL 时返回 NULL 值。
如果在
expression2
内没有找到
expression1,则 CHARINDEX 返回 0。
示例
SELECT CHARINDEX('J',[text])
FROM asdf
SELECT CHARINDEX('J',[text],6)
FROM asdf


发布评论