0
点赞
收藏
分享

微信扫一扫

第九章 其他参考资料(二)


文章目录

  • ​​第九章 其他参考资料(二)​​
  • ​​特殊变量 (SQL)​​
  • ​​示例​​
  • ​​字符串操作(SQL)​​
  • ​​字符串连接​​
  • ​​字符串长度​​
  • ​​Truncation and Trim​​
  • ​​子串搜索​​
  • ​​子串搜索和替换​​
  • ​​字符类型和 Word-Aware 比较​​

第九章 其他参考资料(二)

特殊变量 (SQL)

系统提供的变量。

$HOROLOG
$JOB
$NAMESPACE
$TLEVEL
$USERNAME
$ZHOROLOG
$ZJOB
$ZPI
$ZTIMESTAMP
$ZTIMEZONE
$ZVERSION

SQL直接支持许多对象脚本特殊变量。这些变量包含系统提供的值。只要可以在SQL中指定文字值,就可以使用它们。

SQL特殊变量名不区分大小写。大多数可以使用缩写来指定。

Variable

Name

Abbreviation

Data Type Returned Use

$HOROLOG

$H

%String/VARCHAR

当前进程的本地日期和时间

$JOB

$J

%String/VARCHAR

当前进程的 job ID

$NAMESPACE

none

%String/VARCHAR

当前命名空间名称

$TLEVEL

$TL

%Integer/INTEGER

$USERNAME

none

%String/VARCHAR

当前进程的用户名

$ZHOROLOG

$ZH

%Numeric/NUMERIC(21,6)

自InterSystems IRIS启动后经过的秒数

$ZJOB

$ZJ

%Integer/INTEGER

当前进程的job状态

$ZPI

none

%Numeric/NUMERIC(21,18)

数值常量PI

$ZTIMESTAMP

$ZTS

%String/VARCHAR

协调世界时间格式的当前日期和时间

$ZTIMEZONE

$ZTZ

%Integer/INTEGER

当地时区与GMT的偏移量

$ZVERSION

$ZV

%String/VARCHAR

IRIS的当前版本

示例

SELECT TOP 5 Name,$H
FROM Sample.Person

第九章 其他参考资料(二)_database

以下示例仅在时区位于大陆内时才返回结果集:

SELECT TOP 5 Name,Home_State
FROM Sample.Person
WHERE $ZTIMEZONE BETWEEN -480 AND 480

第九章 其他参考资料(二)_搜索_02

字符串操作(SQL)

字符串操作函数和运算符。

SQL 支持多种类型的字符串操作:

  • 字符串可以通过长度、字符位置或子字符串值进行操作。
  • 字符串可以通过指定的分隔符或分隔符字符串来操作。
  • 字符串可以通过模式匹配和单词感知搜索来测试。
  • 特殊编码的字符串(称为列表)包含嵌入的子字符串标识符,而不使用分隔符。各种​​$LIST​​​ 函数对这些与标准字符串不兼容的编码字符串进行操作。唯一的例外是​​$LISTGET​​​ 函数和​​$LIST​​ 的单参数和双参数形式,它们将编码字符串作为输入,但将单个元素值作为标准字符串输出。

SQL 支持字符串函数、字符串条件表达式和字符串运算符。

ObjectScript 字符串操作区分大小写。字符串中的字母可以转换为大写、小写或混合大小写。字符串排序规则可以区分大小写,也可以不区分大小写;默认情况下,SQL 字符串排序规则是不区分大小写的 ​​SQLUPPER​​。 SQL 提供了许多字母大小写和排序规则函数和运算符。

当为数字参数指定字符串时,大多数 SQL 函数执行以下字符串到数字的转换: 非数字字符串转换为数字 0;将数字字符串转换为规范数字;并且混合数字字符串在第一个非数字字符处被截断,然后转换为规范数字。

字符串连接

以下函数将子字符串连接成字符串:

  • ​CONCAT​​:连接两个子字符串,返回一个字符串。
  • ​STRING​​:连接两个或多个子字符串,返回单个字符串。
  • ​XMLAGG​​:连接列的所有值,返回单个字符串。
  • ​LIST​​:连接列的所有值,包括逗号分隔符,返回单个字符串。
  • 连接运算符 (​​||​​) 也可用于连接两个字符串。

字符串长度

以下函数可用于确定字符串的长度:

  • ​CHARACTER_LENGTH​​​ 和​​CHAR_LENGTH​​​:返回字符串中的字符数,包括尾随空格。​​NULL​​​ 返回​​NULL​​。
  • ​LENGTH​​​:返回字符串中的字符数,不包括尾随空格。​​NULL​​ 返回 NULL。
  • ​$LENGTH​​​:返回字符串中的字符数,包括尾随空格。​​NULL​​ 返回为 0。

Truncation and Trim

以下函数可用于截断或修剪字符串。截断限制字符串的长度,删除超出指定长度的所有字符。​​Trim​​从字符串中删除前导和/或尾随空格。

  • ​Truncation​​​:​​CONVERT​​​,​​%SQLSTRING​​​, and​​%SQLUPPER​​.
  • ​Trimming​​​:​​TRIM​​​,​​LTRIM​​​, and​​RTRIM​​.

子串搜索

以下函数在字符串中搜索子字符串并返回字符串位置:

  • ​POSITION​​:按子字符串值搜索,找到第一个匹配项,返回子字符串开始的位置。
  • ​CHARINDEX​​:按子字符串值搜索,找到第一个匹配项,返回子字符串开始的位置。可以指定起点。
  • ​$FIND​​:按子串值搜索,找到第一个匹配项,返回子串结束的位置。可以指定起点。
  • ​INSTR​​:按子字符串值搜索,找到第一个匹配项,返回子字符串开始的位置。可以指定起点和子串出现。

以下函数在字符串中按位置或分隔符搜索子字符串并返回子字符串:

  • ​$EXTRACT​​:按字符串位置搜索,返回由开始位置或开始和结束位置指定的子字符串。从字符串的开头搜索。
  • ​SUBSTRING​​:按字符串位置搜索,返回由开始位置或开始和长度指定的子字符串。从字符串的开头搜索。
  • ​SUBSTR​​:按字符串位置搜索,返回由起始位置或起始和长度指定的子字符串。从字符串的开头或结尾搜索。
  • ​$PIECE​​:按分隔符搜索,返回第一个分隔的子字符串。可以指定起点或默认为字符串的开头。
  • ​$LENGTH​​:按分隔符搜索,返回分隔子串的数量。从字符串的开头搜索。
  • ​$LIST​​:在特殊编码的列表字符串上按子字符串计数搜索。它通过子串计数定位子串并返回子串值。从字符串的开头搜索。
  • 包含运算符 (​​[​​) 也可用于确定子字符串是否出现在字符串中。
  • ​%STARTSWITH​​ 比较运算符将指定的字符与字符串的开头进行匹配。

子串搜索和替换

以下函数在字符串中搜索子字符串并将其替换为另一个子字符串。

  • ​REPLACE​​:按字符串值搜索,用新的子字符串替换子字符串。从字符串的开头搜索。
  • ​STUFF​​:按字符串位置和长度搜索,用新的子字符串替换子字符串。从字符串的开头搜索。

字符类型和 Word-Aware 比较

​%PATTERN​​ 比较运算符将字符串与指定的字符类型模式匹配。


举报

相关推荐

第九章 Flask

第九章 时间

第九章JDBC

第九章_子查询

第九章 顺序容器

0 条评论