当前位置:首页 » 编程语言 » sql字符截取

sql字符截取

发布时间: 2023-01-04 03:48:17

1. sql server截取某个特定字符前的字符串

left(列名,charindex(特定字符,列名)-1)

left:返回从左边开始指定字符串

charindex:找到特定并返回字符所在位置

select  left(case_name,charindex('_',case_name)-1) from table1  where charindex('_',case_name)-1 > 0

注意:不加where后面的条件会报 “传递给 LEFT 或 SUBSTRING 函数的长度参数无效”的错误。

2. sql字符串截取查询,该怎么解决

SQL Server 中截取字符串常用的函数:

1.LEFT ( character_expression , integer_expression )
函数说明:LEFT ( '源字符串' , '要截取最左边的字符数' )
返回从字符串左边开始指定个数的字符
select LEFT('SQL_Server_2008',4 );
返回结果:SQL_
2.RIGHT ( character_expression , integer_expression )
函数说明:RIGHT ( '源字符串' , '要截取最右边的字符数' )
返回字符串中从右边开始指定个数的 integer_expression 字符
select RIGHT('SQL_Server_2008',4 );
返回结果:2008
3.SUBSTRING ( character_expression , start , length )
函数说明:SUBSTRING ( '源字符串' , '截取起始位置(含该位置上的字符)' , '截取长度' )
返回字符、binary、text 或 image 表达式的一部分
select SUBSTRING('SQL_Server_2008',5 ,6);
返回结果:Server

3. 3.SQL字符串截取技巧

       有时我们会临时写一些SQL脚本来统计一些东西,或者是提供视图或者存储过程给第三方使用。但是有些内容是串联起来存在一个字段中的。

比如:sMZ(民族)      sLx(联系方式)

              01/汉族            tel:123456/qq:87654321/phone:13812345678

SELECT SUBSTRING('01/汉族',4,2)   汉族

SELECT RIGHT('01/汉族',2)   汉族  --也是一样的 

取民族很简单 如果要取手机号phone 就比较麻烦了,因为我们不知道QQ是几位的

或者qq电话可能没有填写了,单纯依靠字段长度截取不了的。

这样就需要变通下了:

SELECT SUBSTRING('tel:123456/qq:87654321/phone:13812345678',

charindex('/phone','tel:123456/qq:87654321/phone:13812345678')+1,1000)

使用charindex获取'/phone'字符的其实位置 嵌套SUBSTRING截取

如果在MySQL中还可以这样:

substring_index('tel:123456/qq:87654321/phone:13812345678', '/', -1) 

'phone:13812345678' 截取第一个 '/' (倒数)之后的所有字符

substring_index('tel:123456/qq:87654321/phone:13812345678', '/', 1) 

'tel:123456' 截取第一个 '/' 之前的所有字符

4. 【搬运】Sql Server中截取字符串的常用方法

1、LEFT()  从左边截

语法:LEFT(character,integer)    返回 从字符串左边开始 指定个数的字符

说明:参数1:要截取的字符串,参数2:截取字符个数

示例:selectLEFT('SqlServer_2008',3)

结果:Sql

2.RIGHT()  从右边截

语法:RIGHT(character,integer)   返回 从字符串右边开始 指定个数的字符

说明:参数1:要截取的字符串,参数2:截取字符个数

示例:selectLEFT('SqlServer_2008',4)

结果:2008

3.SUBSTRING()   中间截

语法:SUBSTRING(character,start,length)   返回从字符串 中间 的字符

说明:参数1:要截取的字符串,参数2:开始截取的位数,参数3:要截取的字符长度

示例:selectSUBSTRING('SqlServer_2008',4,6)--4)

结果:Server

以上。

https://www.cnblogs.com/xielong/p/7670757.html

感谢二位!

5. SQL SERVER 字符串截取

1.将字符串中从某个字符开始截取一段字符,替换成另一字符

select   stuff('helloworld!',4,4,'****')

hel****rld!

2.指定字符串起始位置,截取指定长度

select  substring('helloworld!',4,5)

lowor

3.替换指定字符串

select   replace('helloworld!','ld','aa')

helloworaa!

4.去除字符串两端空格

select  ltrim(' helloworld!')

helloworld!

5.用0替换NULL【isnull( )】

select     ISNULL(KCRKD2_SCDDLS,0)   from    KCRKD2

返回0

6.取字符串,再转化为整数

select      convert(float,substring(xsddmx_wlbh,6,3))  from   XSDDMX

7.字符串前三个是固定的,后面长度是变化的用LEN()取字符串长度,去掉前三个字符(截取右端固定字符数换成LEFT)

SELECT    RIGHT(KCRKD3_JH,LEN(KCRKD3_JH)-3)      FROM     KCRKD3

返回B160459B01487

8.从‘-’向后截取8位字符(charindex()返回字符位置)

select    SUBSTRING('E03AHJC-E1701005020184',charindex('-','E03AHJC-E1701005020184')+1,8)

9. replace将‘h’替换

SELECT     REPLACE('Hello,World!','h','2')   2ello,World!

SELECT     REPLACE('Hello,World!','h','')      ello,World!

SELECT     REPLACE('Hello,World!',' ','2')      Hello,World!

10.复制字符

select      REPLICATE('Hello,World!',3)

时间函数

1.截取两个时间的时间差

select  DATEDIFF(D,TMBASE_DATE,GETDATE())  from     TMBASE

6. sql语句,如何截取指定字段某一个字符出现后的后面的字符串吗

工具/材料:Management Studio。

1、首先在桌面上,点击“Management Studio”图标。

7. sql语句,能够截取指定字段后面的一个字符串吗

可以的,需要用到charindex函数和substring函数。

CHARINDEX函数常常用来在一段字符中搜索字符或者字符串。

substring

public String substring(int beginIndex)

返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。

(7)sql字符截取扩展阅读

javascript示例

1 <scripttype="text/javascript">

2 varstr="Helloworld!"

3 document.write(str.substring(1,3));4 </script>

上面返回字符串:"el";

str.substring(1,2) //返回e

str.substring(1) //返回"elloworld";

还有此函数中会出现奇怪的现象,当出现str.substring(5,0);

这又是怎么回事,不过返回的是"Hello",

str.substring(5,1) //返回"ello",截去了第一位,返回余下的.

可见substring(start,end),可以有不同的说明,即start可以是要返回的长度,end是所要去掉的多少个字符(从首位开始).

在JS中,substr(start,length),用得较方便.

CustomName包含客户的First Name和Last Name,它们之间被一个空格隔开。我们用CHARINDX函数确定两个名字中间空格的位置。通过这个方法,我们可以分析ContactName列的空格位置,这样可以只显示这个列的last name部分。

select top 5 substring(ContactName,charindex(' ',ContactName)+1,len(ContactName)) as [Last Name] from customers

CHARINDEX函数找到First Name和Last Name之间的空格,所以SUBSTRING函数可以分开ContactName列,这样就只有Last Name被选出。在CHARINDEX函数返回的整数上加1,这样Last Name不是从空格开始。

热点内容
机器学习算法应用 发布:2025-07-05 07:01:17 浏览:32
万能解压缩王 发布:2025-07-05 06:51:56 浏览:540
手机怎么修改wifi密码名称 发布:2025-07-05 06:46:13 浏览:381
阿里云服务器bt安装 发布:2025-07-05 06:36:46 浏览:370
数据库组别 发布:2025-07-05 06:15:53 浏览:711
我的世界服务器怎样设置新手装备只能拿一次 发布:2025-07-05 06:15:53 浏览:985
缓存40集电视剧需要多少流量 发布:2025-07-05 05:56:44 浏览:64
iso怎么解压到u盘 发布:2025-07-05 05:49:02 浏览:890
php参数设置 发布:2025-07-05 05:49:00 浏览:995
javacharacter 发布:2025-07-05 05:38:36 浏览:735