当前位置:网站首页>SQL函数 $TRANSLATE
SQL函数 $TRANSLATE
2022-08-02 11:20:00 【用户7741497】
SQL函数 $TRANSLATE
执行逐字符替换的字符串函数。
大纲
$TRANSLATE(string,identifier[,associator])参数
string- 目标字符串。它可以是字段名称、文字、主机变量或 SQL 表达式。identifier- 要在字符串中搜索的字符。它可以是字符串或数字文字、主变量或 SQL 表达式。associator- 可选 — 与标识符中的每个字符对应的替换字符。它可以是字符串或数字文字、主变量或 SQL 表达式。
描述
$TRANSLATE 函数在返回值字符串中执行逐字符替换。它一次处理一个字符的字符串参数。它将字符串中的每个字符与标识符参数中的每个字符进行比较。如果 $TRANSLATE 找到匹配项,它会记下该字符的位置。
$TRANSLATE的双参数形式从输出字符串中删除标识符参数中的所有字符实例。$TRANSLATE的三参数形式将在字符串中找到的每个标识符字符的所有实例都替换为位置对应的关联字符。替换是基于字符而不是字符串执行的。如果标识符参数包含的字符多于关联参数,则从输出字符串中删除标识符参数中多余的字符。如果标识符参数包含的字符少于关联参数,则忽略关联参数中多余的字符。
$TRANSLATE 区分大小写。
$TRANSLATE 不能用于将 NULL 替换为字符。
如果指定的参数太少,则会发出 SQLCODE -380。如果指定的参数过多,则会发出 SQLCODE -381。
$TRANSLATE and REPLACE
$TRANSLATE 执行逐字符匹配和替换。 REPLACE 执行字符串对字符串的匹配和替换。 REPLACE 可以用另一个子字符串替换一个或多个字符的单个指定子字符串,或删除指定子字符串的多个实例。 $TRANSLATE 可以用相应的指定替换字符替换多个指定字符。
默认情况下,这两个函数都区分大小写,从字符串的开头开始,并替换所有匹配的实例。 REPLACE 具有可用于更改这些默认值的参数。
示例
在以下示例中,两个参数 $TRANSLATE 通过删除标点符号(逗号、空格、句点、撇号、连字符)来修改名称值,返回仅包含字母字符的名称。请注意,标识符将撇号加倍以将其转义为文字字符,而不是字符串分隔符:
SELECT TOP 20 Name,$TRANSLATE(Name,', .''-') AS AlphaName
FROM Sample.Person
WHERE Name %STARTSWITH 'O'在以下示例中,三参数 $TRANSLATE 通过将逗号和空格替换为插入符号 (^) 字符来修改名称值,返回以三部分分隔的名称(姓氏、名字、中间名首字母)。请注意,关联者必须指定“^”的次数与标识符中的字符数一样多:
SELECT TOP 20 Name,$TRANSLATE(Name,', ','^^') AS PiecesNamePunc
FROM Sample.Person
WHERE Name %STARTSWITH 'O'在以下示例中,三参数 $TRANSLATE 通过将逗号和空格替换为脱字符 (^) 字符(在标识符和关联符中指定)和删除句点、撇号和连字符(在标识符中指定,从关联人):
SELECT TOP 20 Name,$TRANSLATE(Name,', .''-','^^') AS PiecesNameNoPunc
FROM Sample.Person
WHERE Name %STARTSWITH 'O'边栏推荐
猜你喜欢

深度学习100例 —— 卷积神经网络(CNN)实现mnist手写数字识别

C#/VB.NET 添加多行多列图片水印到Word文档

如何在技术上来保证LED显示屏质量?

Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition

当POC遇见RPA:RPA项目顺利实施的关键

X86函数调用模型分析

Create an application operation process using the kubesphere GUI

一体化在线政务服务平台,小程序容器技术加速建设步伐

ECCV22|PromptDet:无需手动标注,迈向开放词汇的目标检测

基于threejs的商品VR展示平台的设计与实现思路
随机推荐
leetcode: 200. 岛屿数量
Excel dynamic chart production
Kotlin的协程与生命周期
QT笔记——在一个窗口上显示另外一个透明窗口
CCF论文会议 IEEE 如何查询某个会议期刊的所有文章
2022年8月初济南某外包公司全栈开发面试题整理
Three.JS程序化建模入门
数字化转型中的低代码
面积曲线AUC(area under curve)
ES2020-23简单易懂又实用的精选特性讲解 日常开发必备干货!
5G网络切片技术
Coroutines and Lifecycle in Kotlin
LeetCode笔记:Weekly Contest 304
How to technically ensure the quality of LED display?
QT笔记——QT类反射机制简单学习
SQL(面试实战07)
Getting Started with Three.JS Programmatic Modeling
The exchange - string dp
STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)
ssm web page access database data error