当前位置:网站首页>Special Variables (SQL)
Special Variables (SQL)
2022-08-02 18:33:00 【User 7741497】
特殊变量 (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 | current transaction nesting level | |
$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
以下示例仅在时区位于大陆内时才返回结果集:
SELECT TOP 5 Name,Home_State
FROM Sample.Person
WHERE $ZTIMEZONE BETWEEN -480 AND 480
字符串操作(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
, andRTRIM
.
子串搜索
以下函数在字符串中搜索子字符串并返回字符串位置:
POSITION
:按子字符串值搜索,找到第一个匹配项,返回子字符串开始的位置.CHARINDEX
:按子字符串值搜索,找到第一个匹配项,返回子字符串开始的位置.可以指定起点.$FIND
:按子串值搜索,找到第一个匹配项,返回子串结束的位置.可以指定起点.INSTR
:按子字符串值搜索,找到第一个匹配项,返回子字符串开始的位置.可以指定起点和子串出现.
以下函数在字符串中按位置或分隔符搜索子字符串并返回子字符串:
$EXTRACT
:按字符串位置搜索,返回由开始位置或开始和结束位置指定的子字符串.从字符串的开头搜索.SUBSTRING
:按字符串位置搜索,返回由开始位置或开始和长度指定的子字符串.从字符串的开头搜索.SUBSTR
:按字符串位置搜索,返回由起始位置或起始和长度指定的子字符串.从字符串的开头或结尾搜索.$PIECE
:按分隔符搜索,返回第一个分隔的子字符串.可以指定起点或默认为字符串的开头.$LENGTH
:按分隔符搜索,返回分隔子串的数量.从字符串的开头搜索.$LIST
:在特殊编码的列表字符串上按子字符串计数搜索.它通过子串计数定位子串并返回子串值.从字符串的开头搜索.- 包含运算符 (
[
) 也可用于确定子字符串是否出现在字符串中. %STARTSWITH
比较运算符将指定的字符与字符串的开头进行匹配.
子串搜索和替换
以下函数在字符串中搜索子字符串并将其替换为另一个子字符串.
REPLACE
:按字符串值搜索,用新的子字符串替换子字符串.从字符串的开头搜索.STUFF
:按字符串位置和长度搜索,用新的子字符串替换子字符串.从字符串的开头搜索.
字符类型和 Word-Aware 比较
%PATTERN
比较运算符将字符串与指定的字符类型模式匹配.
边栏推荐
猜你喜欢
随机推荐
JZ4 二维数组中的查找
无线振弦采集仪远程修改参数方式
JZ15 二进制中1的个数
numpy的学习笔记
CWE4.8:2022年危害最大的25种软件安全问题
【学术相关】北大一研究生偷取同门师妹论文发表,作者却挂名给了武大 3 位不知情的学生......
#yyds干货盘点# 面试必刷TOP101: 删除链表的倒数第n个节点
CefSharp practical demonstration
tiup mirror rotate
更舒适更安全更时尚 凯翼2023款炫界正式上市
uniapp 小程序 动态style class
DevOps开发工具对比
QACTION_QA百科
AI+BI+可视化,Sugar BI架构深度剖析
提高测试覆盖率的四大步骤
JZ69 跳台阶
【Transformer专题】Vision Transformer(ViT)原理 + 代码
[LeetCode]剑指 Offer 54. 二叉搜索树的第k大节点
2022年值得尝试的7个MQTT客户端工具
JZ27 二叉树的镜像