文章
姚 鑫 · 五月 5 阅读大约需 3 分钟

第133章 SQL函数 STRING

第133章 SQL函数 STRING

将表达式转换并连接成字符串的函数。

大纲

STRING(string1[,string2][,...][,stringN])

参数

  • string - 表达式,可以是字段名称、字符串文字、数字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。如果指定了字段名称,则使用逻辑值。

描述

STRING 将一个或多个字符串转换为 STRING 格式,然后将这些字符串连接成一个字符串。不执行大小写转换。

STRING 在字符串转换之前将数字转换为其规范形式。因此,它执行算术运算,从数字中删除前导和尾随零以及前导加号。

如果字符串参数之一为 NULL,则 STRING 返回 NULL。如果字符串参数之一是空字符串 (''),则 STRING 将连接其他参数。 STRING 保留空格。

可以使用 %SQLSTRING 函数转换数据值以进行区分大小写的字符串比较,或使用 %SQLUPPER 函数转换数据值以进行不区分大小写的字符串比较。

示例

在以下嵌入式 SQL 示例中,STRING 将三个子字符串连接成一个字符串。该示例显示了空格、空字符串和 NULL 的处理:

/// d ##class(PHA.TEST.SQLFunction).String()
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”

/// d ##class(PHA.TEST.SQLFunction).String1()
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 从字段中检索示例数据并将其连接成一个字符串:

/// d ##class(PHA.TEST.SQLFunction).String2()
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
0
0 7
讨论 (0)1
登录或注册以继续