SQL Server 数据库之字符串函数

article/2025/10/3 22:47:26

字符串函数

  • 1. 概述
  • 2. ASCII 函数
  • 3. Charindex 函数
  • 4. Left 函数
  • 5. Right 函数
  • 6. Len 函数
  • 7. Replace 函数
  • 8. Reverse 函数
  • 9. Str 函数
  • 10. Substring 函数

1. 概述

用字符串函数能对输入字符串进行类型转换和长度设置等操作,是数据库处理中常用的函数类型;
20220409

2. ASCII 函数

ASCII(获取 ASCII 码)函数用于返回字符串最左侧的 ASCII 代码值;
ASCII 函数语法格式为:

ASCII(character_expression)

charracter_expression 为 char 或 varchar 类型的表达式,函数返回值为 int;

例子 1:将 ‘BAC’ 三个字母分别转换为 ASCII 码

select ASCII(Left('BAC',1)) as 'B',ASCII(substring('BAC',2,1)) as 'A',ASCII(substring('BAC',3,1)) as 'C'

20220409

3. Charindex 函数

Charindex 函数用于返回字符串中指定的表达式的起始位置;
Charindex 函数的语法为:

Charindex(expressionToFin,expressionToSearch[,start_location])

参数 expressionToFind 包含要查找的字符串;
参数 expressionToSearch 为要查找字符串的表达式;
参数 srtar_location 表示查找的起始位置,若未指定 start_location,或该参数为负数或 0,就从头开始搜索;
若为找到字符串,就返回字符串的位置,否则返回 0;

例子 2:用 Charindex 函数查找字符在表达式的所处的位置

select CHARINDEX('teac','I am teacher!!'),CHARINDEX('2019','SQL Server 2008')

20220408

4. Left 函数

Left 函数用来返回字符串中从左开始指定个数的字符;
Left 函数的语法格式为:

Left(character_expression,integer_expression)

character_expression 为字符或二进制数据的表达式,可以为常量、变量或列;
character_expression 可以为任何能够隐式转换为 varchar 或 nvarchar 的数据类型,text 或 ntext 除外;
否则,需要使用 CAST 函数对 character_expression 进行显式转换;
integer_expression 必须为正整数,指定 character_expression 将返回的字符数;

5. Right 函数

Right 函数用于返回字符串中从右边开始指定个数字符;
Right 函数的语法格式为:

Right(character_expression,integer_expression)

character_expression 为字符或二进制数据表达式,可以为常量、变量或列;
character_expression 可以为任何能够隐式转换为 varchar 或 nvarchar 的数据类型,text 或 ntext 除外;否则,需要使用 CAST 函数对 character_expression 进行显式转换;
integer_expression 必须为正整数,指定 character_expression 将返回的字符数;

6. Len 函数

Len 函数返回指定字符串表达式的字符数,其中不包括含尾随空格
该函数返回的字符数非字节数,单字节与双字节的字符返回相同的值;
若需要返回字节数,可参考 Datalength 函数;
Len 函数的语法格式为:

Len(string_expression)

string_expression 为计算的字符串表达式;

例子 3:用 Len 函数计算字符串长度

select LEN('我是一名教师tea')
select DATALENGTH('我是一名教师tea')

20220408
第一句表达式中 “我是一名教师” 的长度为 6;
第二句表达式中 “我是一名教师” 的长度是 12;还会计算字符串中的空格长度;
注意 : Len 函数 返回的是字符数,即英文字符和中文字符俊返回相同的值,若获取字符串的字节数,应使用 Datalength 函数;

7. Replace 函数

Replace 函数用于使用另一个字符串替换指定字符串;
Replace 函数的语法格式为:

Replace(string_expression,string_pattern,string_replacement)

string_expression 为要搜索的字符串表达式,sting_pattern 为要查询的子字符串,string_replacement 为要替换字符串;
例子 4:用 Replace 函数将字符串 “我是一名学生” 中的 “学生” 替换为 “教师”

select '我是一名学生' as '使用函数前',
REPLACE('我是一名学生','学生','教师') as '使用函数后'

20220408

8. Reverse 函数

Reverse 函数返回字符串的逆序;
Reverse 函数的语法格式为:

Reverse(string_expression)

string_expression 是字符串或二进制数据类型的表达式;
string_expression 可以为常量、变量,也可是字符或二进制数据列;
例子 5:用 Reverse 函数逆向输出字符串“School&Teacher”

select REVERSE('School&Teacher') as 'Reverse 函数'

20220408

9. Str 函数

Str 函数将数字数据转换为字符数据;
Str 函数的语法格式为:

Str(float_expression[,legth[,decimal]])

参数 float_expression 为带小数点的近似数字(float)数据类型的表达式;
参数 length 为总长度,包括小数点、符号、数字和空格,默认值为 10;
参数 decimal 为小数点右边的小数位数
参数 length 和 decimal 值应是整数;

例子 6:用 Str 函数输出命名和年龄

select Name+'今年多少岁'+STR(Age)+'岁'
from B

20220408
注意: Str 函数的功能由 cast 或 Convert 函数实现,但在使用 Cast 或 Convert 实现类型转换时需要指定字符长度,否则 SQL 将长度设置为30;

10. Substring 函数

Substring 函数返回字符、二进制、文本或图像表达式的一部分;
Substing 函数的语法格式为:

Substring(expression,start,length)

参数 expression 是character、binary、text、next 或 image 表达式,参数 start 指定返回字符的起始位置,length 指定要返回的字符数;
若参数 expression 是其中一个受支持的字符数据类型,就返回字符数据;如 expression 是支持的 binary 数据类型中的一种数据类型,就返回二进制数据;

例子 7:用 Substring 函数获取字符串的子串

select SUBSTRING('I am Teacher!',3,4)

20220408
例子 8:用 Substring 函数获取课程名称(课程保留4个汉字)

select CNo,SUBSTRING(CN,1,4) as '课程'
from C

20220408


http://chatgpt.dhexx.cn/article/m9nLRBmd.shtml

相关文章

sql server中replace()函数,可用于字符串替换

语法 sql server中replace()函数,可用于字符串替换 replace(string1,string2,string3) string1:搜索的文本 string2:查找的文本 string3:替换的文本 示例-名字替换 select replace(张三,三,四) 结果 张四 延伸示例-分类 分类&#x…

sqlserver替换特殊字符

1.直接转换 select REPLACE(列名,’’,’’) from 表 2.函数转换 先查询字符的ascii码 select ascii()得到结果 通过char转换成字符串 char(64) --返回然后去替换 select REPLACE(列名,char(64),) from 表常用字符串函数文档 https://blog.csdn.net/qq_39569480/article…

语音信号预处理4——绘制接滤波后chirp信号的时域图和频域图

写在前面:仅作为个人学习笔记,便于以后查阅,如对你有帮助,荣幸之至,如有错误,欢迎评论指正 编程软件:matlab R2018b 系统: win10 系列文章目录 chirp信号的生成与接收对接收到的c…

77GHz毫米波雷达快速chirp信号技术(四):TDM MIMO

设:天线如下图所示:有两个发射天线,4个接收天线 4个虚拟接收天线。接收天线间距 λ 2 \frac{\lambda}{2} 2λ​。发射天线间距 2 λ 2\lambda 2λ。 角度分辨率

声音信标发出白噪声和发出chirp信号的对比测距说明

在 十五届全国大学生智能汽车竞赛 中安排后一个 声音信标导航 竞赛组别。参赛同学反馈,声音信标发送的 Chirp信号 在远处听起来会令人产生一种恐慌紧张的感觉,极大扰民。 如果将信标的声音改成同样宽带音频的白噪声信号,在听觉上与Chirp信号…

Chirp信号公式与对离散生成算法之间的差异

讨论产生线性频率变化的公式和它的离散公式之间的差异,并提出Chirp信号的修改方案。 Chirp信号的公式 对于固定频率 f 1 f_1 f1​的信号,它的表达式为: r ( t ) cos ⁡ ( 2 π ⋅ f 1 ⋅ t ) r\left( t \right) \cos \left( {2\pi \cdot …

matlab啁啾信号,啁啾信号chirp(扫频余弦信号)

Chirp信号 Generate swept-frequency cosine (chirp) signal Chirp信号是一个典型的非平稳信号,在通信、声纳、雷达等领域具有广泛的应用, Chirp译名:啁啾(读音:“周纠”),是通信技术有关编码脉冲技术中的一种术语,是指对脉冲进行编码时,其载频在脉冲持续时间内线性地增加…

77GHz毫米波雷达快速chirp信号技术(一):测距原理

快速chirp信号指的是发射天线发射如下图所示信号: 单个chirp的解析式为 x ( t ) = s i n ( 2 ∗ p i ∗ ( f 0 + 0.5 ∗ S ∗ t ) . ∗ t ) x(t)=sin(2*pi*(f_0+0.5*S*t).*t) x(t)=sin(2∗pi∗(f0​+0.5∗S∗t).∗t)。 其中斜率 S S S达到 M H z / u s MHz/us MHz/us的数量级…

语音信号预处理3——计算原始chirp信号与滤波后chirp信号的相关性

写在前面:仅作为个人学习笔记,便于以后查阅,如对你有帮助,荣幸之至,如有错误,欢迎评论指正 编程软件:matlab R2018b 系统: win10 系列文章目录 chirp信号的生成与接收对接收到的c…

MATLAB学习笔记之chirp信号的产生

chirp信号即线性调频信号,是指瞬时频率随时间呈线性变化的信号。 chirp信号的matlab程序实现方法如下: 1.可利用matlab自带的chirp函数生成。 chirp(t,f0,T,f1); T表示脉冲宽度&…

chirp信号频谱(三角波和锯齿波)

普通chirp信号 ​​​​​​​ 频谱 图中信号载波3.2GHz,采样率256MHz,带宽100MHz,脉宽64us %% --------仿真数据--------------- fs256e6; Nr16384; ts 1/fs; fc3.2e9; B10…

USB chirp信号测试

1 信号及原理分析 1.1 KJ信号说明 USBchirp信号分为K信号和J信号。根据USB速率将chirp信号做如下区别: USB速率 Chirp DP DM 空闲状态 Low Speed K 1 0 K J 0 1 Full Speed K 0 1 J J 1 0 High Speed K 0 1 SE0 J 1 0 SE0 0 0 1…

chirp信号相关

1、frft 基于分数阶傅里叶变换的chirp信号检测与参数估计(原理附代码)_非 常 道的博客-CSDN博客_chirp基 求相关性最好的阶数: 其中fs是采样频率,arccot这个在matlab中有相应的函数,B是chirp信号的带宽。 2、在实际工作…

基于分数阶傅里叶变换的chirp信号检测与参数估计(原理附代码)

线性调频信号(chirp信号) 顾名思义,该信号的频率随着时间线性变换,其复数表达形式如下: s ( t ) e 2 j π ( f 0 t 0.5 μ t 2 ) s(t)e^{2j\pi(f_0 t 0.5\mu t^2)} s(t)e2jπ(f0​t0.5μt2) 根据欧拉公式&#xff…

Chirp信号及其生成

Chirp信号是一个典型的非平稳信号,在通信、声纳、雷达等领域具有广泛的应用。 简介 Chirp译名:啁啾(读音:“周纠”),是通信技术有关编码脉冲技术中的一种术语,是指对脉冲进行编码时,其载频在脉冲…

什么是chirp信号

什么是chirp信号?(翻译自维基百科) 维基百科是这样说的: A chirp is a signal in which the frequency increases (up-chirp) or decreases (down-chirp) with time。 也就是说:是频率随着时间增加或减小的信号。 …

Chirp信号简单介绍

1.定义:chirp指的是频率随时间增加或减少的信号。它通常应用于声纳、雷达和激光系统,以及其他应用,如扩频通信。(大多数情况也可称为线性chirp信号,但其实chirp信号未必是线性的) 2.公式推导理解&#xff…

Chirp信号基础知识及matlab实现

Chirp信号的表达式如下: x ( t ) e x p ( j 2 π ( f 0 t 1 2 k t 2 ) ) x(t)exp(j2\pi (f_0t\frac{1}{2} kt^2)) x(t)exp(j2π(f0​t21​kt2)) 其中, f 0 f_0 f0​ 称作起始频率,k为调频率 对相位进行求导,得到角频率以及频率随时间的线…