第151章 SQL函数 %TRUNCATE
SQL 函数 truncate 151
2023-09-11 14:15:37 时间
第151章 SQL函数 %TRUNCATE
将字符串截断为指定长度并应用 EXACT
排序规则的排序规则函数。
大纲
%TRUNCATE(expression[,length])
参数
expression
- 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如CHAR
或VARCHAR2
)。表达式可以是子查询。length
- 可选 — 截断长度,指定为整数。返回表达式的初始长度字符。如果省略长度,则%TRUNCATE
排序规则与%EXACT
排序规则相同。可以用双括号将长度括起来以抑制文字替换:((length
))。
描述
%TRUNCATE
将表达式截断为指定的长度,然后在 EXACT
排序规则序列中返回它。
EXACT
排序规则首先按数字顺序排列纯数值(x=+x
的值),然后是字符串排序规则序列中的所有其他字符。 EXACT
字符串整理顺序与 ANSI
标准 ASCII
整理顺序相同:在大写字母字符之前整理数字,在小写字母字符之前整理大写字母字符。标点符号出现在序列中的多个位置。
%TRUNCATE
通过 NULL
不变。
%TRUNCATE
是一个 SQL 扩展,用于 SQL 查找查询。
也可以使用 TRUNCATE()
方法调用从 ObjectScript 调用此函数:
DHC-APP> WRITE $SYSTEM.SQL.TRUNCATE("This long string",9)
This long
示例
以下示例使用 %TRUNCATE
返回 Name
值的前四个字符:
SELECT TOP 5 Name,%TRUNCATE(Name,4) AS ShortName
FROM Sample.Person
以下示例将 %TRUNCATE
应用于子查询:
SELECT TOP 5 Name, %TRUNCATE((SELECT Name FROM Sample.Company),10) AS Company
FROM Sample.Person
以下示例在 GROUP BY
子句中使用 %TRUNCATE
创建一个字母列表,该列表返回以每个字母开头的名称数量:
SELECT Name AS FirstLetter,COUNT(Name) AS NameCount
FROM Sample.Person GROUP BY %TRUNCATE(Name,1) ORDER BY Name
以下两个示例显示 %TRUNCATE
如何执行 EXACT
排序规则。第一个示例中的 ORDER BY
将 Home_Street
截断为两个字符。因为街道地址的前两个字符几乎总是数字,所以 Home_Street
字段按其前两个数字的数字顺序排列。
SELECT Name,Home_Street
FROM Sample.Person
ORDER BY %TRUNCATE(Home_Street,2)
第二个示例中的 ORDER BY
将 Home_Street
截断为四个字符。因为某些街道地址的第四个字符不是数字(例如空格),所以以四个(或更多)数字开头的 Home_Street
值按数字顺序排列,然后是包含非数字的 Home_Street
值前四个字符中的字符按字符串顺序排列:
SELECT Name,Home_Street
FROM Sample.Person
ORDER BY %TRUNCATE(Home_Street,4)
相关文章
- NOT IN vs. NOT EXISTS vs. LEFT JOIN / IS NULL: SQL Server
- 【PHP代码审计】 那些年我们一起挖掘SQL注入 - 6.全局防护Bypass之一些函数的错误使用
- SQL ROUND() 函数
- SQL Date 函数
- sql找到表中的部分内容替换,sql 修改_更新_替换_某个字段的部分内容,replace()函数
- 第149章 SQL函数 TRIM
- 第110章 SQL函数 POWER
- 第九十七章 SQL函数 MONTH
- 第八十三章 SQL函数 $LISTFIND
- 第五十三章 SQL函数 %EXACT
- 第四十七章 SQL函数 DAYNAME
- SQL文本处理函数--soundex()函数
- SQL 中的 COALESCE 函数初学者指南
- SQL Server 函数 LEN 与 DATALENGTH的区别
- sql:除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询
- 数据库学习---SQL基础(二)
- 使用Druid监控SQL
- (4.51)sql server用 sp_getapplock 实现串行执行的存储过程
- 通过MySQL复制线程SQL_Thread加快增量恢复binlog【转】
- 【sql server复制】sql server外网复制+非默认端口
- 【SQL刷题】DAY20----SQL高级联结专项练习
- django运行自定义sql语句
- Enabling AWE Memory for SQL Server
- [转]sql server 的ANSI_NULLS设置
- SQL Server 卸载后重装问题