- 浏览: 1882914 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (514)
- OPEN (41)
- WARN (33)
- EXPER (16)
- RESOURCE (7)
- TOOL (4)
- DWR (10)
- Struts1.x (10)
- Ibtais (18)
- MyEclipse (30)
- Sql Server (64)
- Tomcat (7)
- APACHE (4)
- JSP (18)
- SERVLET (6)
- ENGLISH (0)
- ECSide (8)
- JasperReports (7)
- JAVA (24)
- JS (42)
- XML (26)
- CVS (8)
- Mind (1)
- JQUERY (2)
- IBATIS (6)
- PROJECT (0)
- STRUTS2 (0)
- PROXOOL (0)
- SPRING (4)
- Hibernate (0)
- SSI (0)
- JBPM (11)
- FLEX (3)
- JSON (2)
- GWT (1)
- jeecms v3 (1)
- Flash (2)
- DATA (1)
- ORACLE (3)
- 查询oracle 中逗号分隔字符串中所有值 (1)
最新评论
-
小小西芹菜:
GoEasy web三步轻松实现web实时推送1. 引入goe ...
服务器推送技术 java -
kg_1997:
这个方法太棒了,可以不用to_date函数,实在是棒!!!
java/oracle日期处理 -
wodesunday:
:idea:
SQL的分段统计查询语句 -
wodesunday:
引用
SQL的分段统计查询语句 -
BlueSkator:
讲的有点浅,没有深入进去
tomcat需要的重新发布和重启服务器的几种情况
返回字符串中指定表达式的开始位置。
Transact-SQL 语法约定
语法
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 值。
如果在 expression2 内找不到 expression1,则 CHARINDEX 返回 0。
返回5.
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。
示例
以下代码示例将返回字符序列 bicycle 在 Document 表的 DocumentSummary 列中开始的位置。
复制代码
USE AdventureWorks;
GO
SELECT CHARINDEX('bicycle', DocumentSummary)
FROM Production.Document
WHERE DocumentID = 3;
GO
下面是结果集:
复制代码
-----------
48
以下示例将使用可选的 start_location 参数从 DocumentSummary 列的第五个字符开始查找 bicycle。
复制代码
USE AdventureWorks;
GO
SELECT CHARINDEX('bicycle', DocumentSummary, 5)
FROM Production.Document
WHERE DocumentID = 3;
GO
下面是结果集:
复制代码
-----------
48
(1 row(s) affected)
以下示例显示了在 expression1 内找不到 expression2 时的结果集。
复制代码
USE AdventureWorks;
GO
SELECT CHARINDEX('bike', DocumentSummary)
FROM Production.Document
WHERE DocumentID =6;
GO
下面是结果集:
复制代码
-----------
0
(1 row(s) affected)
以下示例使用 COLLATE 函数。
复制代码
USE tempdb;
GO
SELECT CHARINDEX ( 'Test', 'Das ist ein Test' COLLATE Latin1_General_BIN);
GO
Transact-SQL 语法约定
语法
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 值。
如果在 expression2 内找不到 expression1,则 CHARINDEX 返回 0。
select charindex('18',',22,18,')
返回5.
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。
示例
以下代码示例将返回字符序列 bicycle 在 Document 表的 DocumentSummary 列中开始的位置。
复制代码
USE AdventureWorks;
GO
SELECT CHARINDEX('bicycle', DocumentSummary)
FROM Production.Document
WHERE DocumentID = 3;
GO
下面是结果集:
复制代码
-----------
48
以下示例将使用可选的 start_location 参数从 DocumentSummary 列的第五个字符开始查找 bicycle。
复制代码
USE AdventureWorks;
GO
SELECT CHARINDEX('bicycle', DocumentSummary, 5)
FROM Production.Document
WHERE DocumentID = 3;
GO
下面是结果集:
复制代码
-----------
48
(1 row(s) affected)
以下示例显示了在 expression1 内找不到 expression2 时的结果集。
复制代码
USE AdventureWorks;
GO
SELECT CHARINDEX('bike', DocumentSummary)
FROM Production.Document
WHERE DocumentID =6;
GO
下面是结果集:
复制代码
-----------
0
(1 row(s) affected)
以下示例使用 COLLATE 函数。
复制代码
USE tempdb;
GO
SELECT CHARINDEX ( 'Test', 'Das ist ein Test' COLLATE Latin1_General_BIN);
GO
发表评论
-
ORACLE中使用递归查询 (
2012-12-27 16:35 979在数据库查询中常常会碰到要查询树形结构的数据,需要用一个字段的 ... -
函数与存储过程区别
2011-06-01 18:17 1320本质上没区别。只是 ... -
SQL Server2000安装常见问题
2011-05-25 14:15 1495一:解决安装sql时文件挂起的问题: (1)、点击“开始》运 ... -
MySQL语句优化的原则
2011-04-12 14:21 10001、使用索引来更快 ... -
转SQL-group by学习
2011-04-12 14:18 1273在select 语句中可以使用group by 子句将行划分成 ... -
SQL Select语句完整的执行顺序:
2011-04-12 14:15 1403SQL Select语句完整的执行顺序: 1、from子句组 ... -
SQL截取字符串(substring与patindex的使用)
2011-03-31 13:55 5716SQL截取字符串(substring与patinde ... -
SQL Server2005杂谈(1):使用公用表表达式(CTE)简化嵌套SQL
2011-03-16 09:21 1316先看下面一个嵌套的查 ... -
SQL Server基本函数
2010-12-06 08:53 1613SQL Server基本函数 1.字符串函数 : ... -
SQL2005级联删除,层叠,设置空,设置默认值
2010-12-01 15:46 2451浅谈SQL SERVER 2005 之引用 ... -
sql 显示插入主键
2010-10-22 16:28 1311set identity_insert [T_ADMINTYP ... -
取小数
2010-10-22 16:12 1308使用这个方式来计算 SELECT convert(decima ... -
oracle 创建表空间
2010-10-12 11:28 1535一.创建表空间 CREATE SMALLFILE TABLES ... -
sql 约束大全
2010-09-27 16:28 1368--------添加主键约束(bookid作为主键) alt ... -
sql 主外键语法
2010-09-27 08:39 1742alter table dbo.t_commAtta ... -
在SQL Server中,关于with as使用介绍
2010-09-26 13:32 36094一.WITH AS的含义 ... -
procedure 存储过程多个返回测试
2010-09-01 10:26 1190create procedure test(@temp1 va ... -
sql 实现按月份,季度统计报表
2010-08-30 12:01 14973呵呵,我们在处理设计到日期统计时候经常会按照年度,季度,月份统 ... -
SQL Server DATEPART() 不能言
2010-08-30 11:29 1828今天做按月份,按年度,按季度统计报表,后来发现了最简单最可扩展 ... -
SQL 统计
2010-08-30 11:16 1462该死的mysql没有提供unix时间戳的专门处理函数,所以,如 ...
相关推荐
Transact-SQL是微软公司为其SQL Server数据库系统开发的一种结构化查询语言。它扩展了标准的SQL语言,增加了一些特殊的函数,用于执行数据库查询。在Transact-SQL中,函数分为多个类别,包括算术函数、字符串函数、...
数据管理与数据库是IT领域中的核心概念,而Transact-SQL(T-SQL)作为SQL Server的主要编程语言,是数据库管理的重要工具。本章重点介绍了如何进行T-SQL的程序设计,涵盖了数据与表达式、函数以及程序控制流语句等...
在Transact-SQL中,虽然没有内置的函数直接支持字符串拆分,但我们可以通过一些技巧和自定义函数来实现这一功能。本篇文章将详细探讨一种简单而有效的方法来拆分字符串。 首先,我们要理解的是SQL Server的标准数据...
在本文档中,我们将详细探讨在SQL Server使用的T-SQL(Transact-SQL)中,涉及到的函数的整理。这些函数被分为数学函数和字符串函数两大类,并且详细介绍了每个函数的功能以及它们的基本用法。 一、数学函数 1. 求...
本文将深入探讨T-SQL(Transact-SQL)在SQL Server中的应用,以及如何使用CTE(公共表表达式)进行递归查询,同时也会涉及如何通过自定义函数处理字符串分隔的问题。 首先,让我们从"T-SQL_FileShare_1_Preparation...
它们是数据库层面的程序,通常用T-SQL(Transact-SQL)编写,这是SQL Server的扩展语法。 例如,"触发器的使用案例.txt"可能包含以下内容:创建一个触发器来确保每当在员工表中更新薪水时,同时更新部门的总预算。...
在该版本中,了解Transact-SQL(T-SQL)语法、游标、事务管理、视图和存储过程的创建和使用等都是必备技能。 通过学习和运用这些经典脚本,你不仅可以提升SQL Server的使用熟练度,还能提高解决实际问题的能力。...
T-SQL是Transact-SQL的简称,它是SQL Server数据库管理系统中的编程语言,用于处理和操作数据。本篇主要探讨的是T-SQL中的函数,包括字符函数、日期函数和数据类型转换函数,以及一些系统函数。 1. 字符函数: - ...
“SQL-Server-2008”、“SQL-Server-2008R2”和“SQL-Server-2005”则是SQL Server的不同版本,分别代表2008年发布的标准版和2008 R2升级版以及2005年发布的版本。这些标签表明这个功能适用于这些特定版本的SQL ...
这里我们讨论的是T-SQL(Transact-SQL)中的用户自定义函数(UDF)。以下是对SQL Server函数语法和示例的详细说明。 ### 一、SQL Server函数语法 创建一个新的用户自定义函数,可以使用`CREATE FUNCTION`语句。...
SQL Server采用的Transact-SQL与DB2的SQL PL(基于ANSI SQL)在语法上存在差异。Transact-SQL提供了更多的扩展功能和更丰富的编程环境,而DB2则遵循更标准的SQL规范。这意味着在迁移过程中,需要对SQL语句进行调整,...
本文主要探讨如何在Transact-SQL(T-SQL)中利用自定义函数来实现这一目标。 首先,我们来看如何对字符型字段进行叠加。在案例中,有学生选修课程的数据,需要将相同姓名的学生选修的所有课程合并为一个字符串,各...
这是一段T-SQL(Transact-SQL)代码,它是SQL Server所使用的SQL方言。 接着,代码使用`WHILE`循环结构来持续处理字符串,直到找不到分隔符为止。`CHARINDEX()`函数用于查找分隔符在字符串中的位置,如果返回值不...
- **功能**:返回上一条Transact-SQL语句执行后的错误号。 - **示例**: ```sql -- 假设执行了某条可能出错的语句 IF @@ERROR > 0 PRINT 'An error occurred.'; ``` 3. **@@IDENTITY** - **功能**:返回...
本文将详细介绍如何使用T-SQL(SQL Server的Transact-SQL扩展)来去除字符串中的HTML标签。 首先,我们来看一下提供的代码片段。这个示例创建了一个名为`dbo.removehtml`的用户定义函数,用于从输入的字符串中删除...
在IT行业中,尤其是在数据库管理和开发领域,T-SQL(Transact-SQL)是SQL Server的主要查询语言,用于处理和操作数据。在实际工作中,我们经常遇到需要将一个包含多个值的字符串拆分成单独的行,这通常涉及到字符串...
SQL Server数据库使用Transact-SQL语法,而Instr函数是Oracle数据库的专有函数。因此,在SQL Server数据库中,Instr函数将被视为无效的函数名,无法使用。 替代方案 虽然Instr函数不可用,但我们可以使用其他方法...
在数据库编程领域,TSQL(Transact-SQL)和PLSQL(Procedural Language/SQL)是两种广泛使用的SQL方言,分别由微软的SQL Server和甲骨文的Oracle数据库系统支持。它们都提供了丰富的数学函数和操作来处理数值计算,...