第133章 SQL函数 STRING
将表达式转换并连接成字符串的函数。
大纲
STRING(string1[,string2][,...][,stringN])
参数
string - 表达式,可以是字段名称、字符串文字、数字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR )。如果指定了字段名称,则使用逻辑值。
描述
STRING 将一个或多个字符串转换为 STRING 格式,然后将这些字符串连接成一个字符串。不执行大小写转换。
STRING 在字符串转换之前将数字转换为其规范形式。因此,它执行算术运算,从数字中删除前导和尾随零以及前导加号。
如果字符串参数之一为 NULL ,则 STRING 返回 NULL 。如果字符串参数之一是空字符串 ('' ),则 STRING 将连接其他参数。 STRING 保留空格。
可以使用 %SQLSTRING 函数转换数据值以进行区分大小写的字符串比较,或使用 %SQLUPPER 函数转换数据值以进行不区分大小写的字符串比较。
示例
在以下嵌入式 SQL 示例中,STRING 将三个子字符串连接成一个字符串。该示例显示了空格、空字符串和 NULL 的处理:
ClassMethod String()
{
&sql(
SELECT STRING('a','b','c'),
STRING('a',' ','c'),
STRING('a','','c'),
STRING('a',NULL,'c')
INTO :w,:x,:y,:z
)
if SQLCODE '= 0 {
w !,"Error code ",SQLCODE
} else {
w !,"Resulting string is:",w
w !,"Resulting string is:",x
w !,"Resulting string is:",y
w !,"Resulting string is:",z
}
}
DHC-APP>d ##class(PHA.TEST.SQLFunction).String()
Resulting string is:abc
Resulting string is:a c
Resulting string is:ac
Resulting string is:
在以下嵌入式 SQL 示例中,STRING 将数字转换为字符串。所有这些 STRING 函数都返回字符串“123” :
ClassMethod String1()
{
&sql(
SELECT STRING(123),
STRING(+00123.00),
STRING('1',23),
STRING(1,(10*2)+3)
INTO :w,:x,:y,:z
)
if SQLCODE '= 0 {
w !,"Error code ",SQLCODE
} else {
w !,"Resulting string is:",w
w !,"Resulting string is:",x
w !,"Resulting string is:",y
w !,"Resulting string is:",z
}
}
DHC-APP>d ##class(PHA.TEST.SQLFunction).String1()
Resulting string is:123
Resulting string is:123
Resulting string is:123
Resulting string is:123
在以下嵌入式 SQL 示例中,STRING 从字段中检索示例数据并将其连接成一个字符串:
ClassMethod String2()
{
&sql(
SELECT STRING(Name,Age)
INTO :x
FROM Sample.Person
)
if SQLCODE '= 0 {
w !,"Error code ",SQLCODE
} else {
w !,"Resulting string is:",x
}
}
DHC-APP>d ##class(PHA.TEST.SQLFunction).String2()
Resulting string is:yaoxin31
|