mysql中有没有类似charindex的函数?

mysql中有没有类似charindex的函数


忽然笑
浏览 3565回答 2
2回答

叮当猫咪

应该是没有SELECT CHARINDEX('zhang', 'Devil_Zhang');在MySql中运行结果为:1 queries executed, 0 success, 1 errors, 0 warnings查询:select CHARINDEX('zhang', 'Devil_Zhang')错误代码: 1305FUNCTION test.CHARINDEX does not exist执行耗时 : 0 sec传送时间 : 0 sec总耗时 : 0 sec

墨色风雨

charindex函数介绍一、语法CHARINDEX ( char1 ,string1 [ , start_location ] )如果 char1 或 string1 之一是 Unicode 数据类型(nvarchar 或 nchar)而另一个不是,则将另一个转换为 Unicode 数据类型。CHARINDEX 不能与 text、ntext 和 image 数据类型一起使用。如果 char1 或 string1 之一为 NULL,并且数据库兼容级别为 70 或更高,则 CHARINDEX 将返回 NULL。如果数据库兼容级别为 65 或更低,则 CHARINDEX 将仅在 char1 和 string1 都为 NULL 时才返回 NULL 值。如果在 char1 内找不到 string1,则 CHARINDEX 返回 0。char1 一个表达式,其中包含要查找的字符的序列。string1 一个表达式,通常是一个为指定序列搜索的列。string1 属于字符串数据类别。start_location 开始在 string1 中搜索 char1 时的字符位置。如果 start_location 未被指定、是一个负数或零,则将从 string1 的开头开始搜索。start_location 可以是 bigint 类型。string1 中包含 char1 时返回字符位置string1 中不包含 char1 时返回0二、举例USE AdventureWorksSELECT CHARINDEX('bicycle', DocumentSummary)FROM Production.DocumentWHERE DocumentID = 3;返回结果为48。SELECT CHARINDEX('bicycle1', DocumentSummary, 5)FROM Production.DocumentWHERE DocumentID = 3;返回结果为0。查询DocumentSummary字段中包含"bicycle"的所有行。一般大家都会写成这样:select * from Production.Documentwhere DocumentSummary like'%bicycle%'了解这个函数以后,大家可以这样写:select * from Production.Documentwhere charindex('bicycle',DocumentSummary)>0这种方法比like'%%'的形式速度上要快很多.数据库优化的时候可以考虑使用sql 2005的函数.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server