当前位置:网站首页>SQL function $TRANSLATE
SQL function $TRANSLATE
2022-08-02 11:35:00 【User 7741497】
SQL function $TRANSLATE
A string function that performs character-by-character replacement.
Outline
$TRANSLATE(string,identifier[,associator])
parameter
string
- the target string.It can be a field name, literal, host variable, or SQL expression.identifier
- The character to search for in the string.It can be a string or numeric literal, host variable, or SQL expression.associator
- optional - replacement characters corresponding to each character in the identifier.It can be a string or numeric literal, host variable, or SQL expression.
Description
The$TRANSLATE
function performs character-by-character substitution in the return value string.It processes string arguments one character at a time.It compares each character in the string with each character in the identifier parameter.If $TRANSLATE
finds a match, it notes the position of that character.
- The two-argument form of
$TRANSLATE
removes all instances of characters in the identifier argument from the output string. The three-argument form of $TRANSLATE
replaces all instances of each identifier character found in the string with the associated character corresponding to the position.Replacement is performed based on characters, not strings.If the identifier parameter contains more characters than the associated parameter, the extra characters in the identifier parameter are removed from the output string.If the identifier parameter contains fewer characters than the associated parameter, the extra characters in the associated parameter are ignored.
$TRANSLATE
is case sensitive.
$TRANSLATE
cannot be used to replace NULL
with a character.
If too few parameters are specified, SQLCODE -380
will be issued.If too many parameters are specified, SQLCODE -381
is issued.
$TRANSLATE and REPLACE
$TRANSLATE
performs character-by-character matching and replacement.REPLACE
performs string-to-string matching and replacement.REPLACE
can replace a single specified substring of one or more characters with another substring, or delete multiple instances of a specified substring.$TRANSLATE
can replace multiple specified characters with the corresponding specified replacement characters.
By default, both functions are case-sensitive, start at the beginning of the string, and replace all matching instances.REPLACE
has parameters that can be used to change these defaults.
Example
In the following example, the two parameters $TRANSLATE
modify the name value by removing punctuation (comma, space, period, apostrophe, hyphen), returning a name that contains only alphabetic characters.Note that identifiers double the apostrophe to escape it as a literal character, not a string delimiter:
SELECT TOP 20 Name,$TRANSLATE(Name,', .''-') AS AlphaNameFROM Sample.PersonWHERE Name %STARTSWITH 'O'
In the following example, the three-argument $TRANSLATE
modifies the name value by replacing commas and spaces with caret (^
) characters, returning a three-part delimitedFirst name (last name, first name, middle initial).Note that the linker must specify “^”
as many times as there are characters in the identifier:
SELECT TOP 20 Name,$TRANSLATE(Name,', ','^^') AS PiecesNamePuncFROM Sample.PersonWHERE Name %STARTSWITH 'O'
In the following example, the three-parameter $TRANSLATE
is specified by replacing commas and spaces with caret (^
) characters (specified in identifiers and ligators) andRemove periods, apostrophes and hyphens (specified in identifiers, from associated persons):
SELECT TOP 20 Name,$TRANSLATE(Name,', .''-','^^') AS PiecesNameNoPuncFROM Sample.PersonWHERE Name %STARTSWITH 'O'
边栏推荐
猜你喜欢
随机推荐
WPF 实现窗体抖动效果
LeetCode每日一练 —— 20. 有效的括号
Excel动态图制作
Failure Analysis | A SELECT statement crashes MySQL, what happened?
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一
Camera Hal OEM模块 ---- cmr_snapshot.c
ECCV22|PromptDet:无需手动标注,迈向开放词汇的目标检测
How to technically ensure the quality of LED display?
Idea 全局搜索(idea如何全局搜索关键字)
SQLAlchemy使用教程
Kotlin的协程与生命周期
Crack detection technology based on deep learning
爆款视频怎么做?这里或许有答案!
SQL函数 $TRANSLATE
元宇宙“吹鼓手”Unity:疯狂扩局,悬念犹存
看我如何用多线程,帮助运营小姐姐解决数据校对系统变慢!
SQL(面试实战07)
面积曲线AUC(area under curve)
JSP中如何正确的填写include指令中的file路径呢?
Excel dynamic chart production