当前位置:网站首页>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'
边栏推荐
- “纯C”实现——三子棋小游戏
- CCF paper conference IEEE how to query all articles of a conference journal
- 10份重磅报告 — 展望中国数字经济未来
- ansible module --copy module
- Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
- 图形处理单元(GPU)的演进
- LayaBox---TypeScript---Advanced Type
- [kali-information collection] (1.8) ARP reconnaissance tool _Netdiscover
- 看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
- 打破千篇一律,DIY属于自己独一无二的商城
猜你喜欢
随机推荐
图形处理单元(GPU)的演进
OSI 七层模型和TCP/IP模型及对应协议(详解)
List排序 ,取最大值最小值
jacoco的学习以及理解
匹配滤波(四种滤波器的幅频特性)
保姆级教程:写出自己的移动应用和小程序(篇二)
mysql清除binlog日志文件
Getting Started with Three.JS Programmatic Modeling
npm WARN config global `--global`, `--local` are deprecated. Use `--location解决方案
爆款视频怎么做?这里或许有答案!
Oracle降低高水位
ansible模块--copy模块
循环语句综合练习
半夜赶工制作简报的我好想说 : 确定了,最终稿就是这样
开箱即用-使用异步加载布局来优化页面启动速度的几种方案
【Acunetix-Forgot your password】
Several reasons why applet plugins benefit developers
QT笔记——在一个窗口上显示另外一个透明窗口
Shell编程案例
AdguardHome如何配置设置?我的AdguardHome配置内容过滤器拦截列表