当前位置: 首页 > news >正文

wordpress建站seo商城网站 搭建

wordpress建站seo,商城网站 搭建,网站布局软件,中国科技成就2021Spark、Hive、Presto(现更名为 Trino)和 Doris(原百度 Palo)的 substr 函数在功能上都是用于截取字符串的子串,但在起始索引规则和参数含义上存在差异,这是导致结果不同的主要原因。以下是它们的具体区别&a…

Spark、Hive、Presto(现更名为 Trino)和 Doris(原百度 Palo)的 substr 函数在功能上都是用于截取字符串的子串,但在起始索引规则参数含义上存在差异,这是导致结果不同的主要原因。以下是它们的具体区别:

1. Hive

  • 函数名substr 或 substring(两者完全等效)
  • 起始索引:1-based(从 1 开始计数,第一个字符位置为 1)
  • 参数格式
    • substr(str, start_pos):从 start_pos 位置截取到字符串末尾
    • substr(str, start_pos, length):从 start_pos 位置截取长度为 length 的子串
  • 负数索引:表示从字符串末尾开始计算(如 start_pos=-3 表示从倒数第 3 个字符开始)
  • 示例

    sql

    select substr('abcdef', 2, 3);  -- 结果:'bcd'(从第2位开始,取3个字符)
    select substr('abcdef', -3);     -- 结果:'def'(从倒数第3位取到末尾)
    

2. Spark

  • 函数名substr 和 substring 行为不同(注意区分)
    • substr:0-based(从 0 开始计数,第一个字符位置为 0)
    • substring:1-based(为兼容 Hive 设计,与 Hive 行为一致)
  • 参数格式:与 Hive 一致(支持 2 个或 3 个参数)
  • 负数索引:与 Hive 一致(从末尾计数)
  • 示例

    sql

    -- substr(0-based)
    select substr('abcdef', 2, 3);    -- 结果:'cde'(从第2位开始,取3个字符)-- substring(1-based,与 Hive 一致)
    select substring('abcdef', 2, 3); -- 结果:'bcd'(与 Hive 相同)
    

3. Presto(Trino)

  • 函数名substr 或 substring(两者等效)
  • 起始索引:1-based(与 Hive 一致)
  • 参数格式
    • substr(str, start_pos):从 start_pos 截取到末尾
    • substr(str, start_pos, length):从 start_pos 截取长度为 length 的子串
  • 负数索引:与 Hive/Spark 一致(从末尾计数)
  • 特殊点:如果 length 为负数,返回空字符串(部分版本行为)
  • 示例

    sql

    select substr('abcdef', 2, 3);  -- 结果:'bcd'(与 Hive 一致)
    select substr('abcdef', -3);     -- 结果:'def'(与 Hive 一致)
    

4. Doris

  • 函数名substr 或 substring(两者等效)
  • 起始索引:1-based(与 Hive、Presto 一致)
  • 参数格式
    • substr(str, start_pos):从 start_pos 截取到末尾
    • substr(str, start_pos, length):从 start_pos 截取长度为 length 的子串
  • 负数索引:支持(从末尾计数)
  • 特殊点:如果 start_pos 超出字符串长度,返回空字符串
  • 示例

    sql

    select substr('abcdef', 2, 3);  -- 结果:'bcd'(与 Hive、Presto 一致)
    select substr('abcdef', -3);     -- 结果:'def'(与 Hive、Presto 一致)
    

总结:关键差异对比表

系统函数名起始索引与 Hive 兼容性负数索引支持
Hivesubstr/substring1-based原生支持支持
Sparksubstr0-based不兼容支持
Sparksubstring1-based兼容支持
Presto/Trinosubstr/substring1-based兼容支持
Dorissubstr/substring1-based兼容支持

跨系统兼容建议

  1. 若需在多系统中保持一致结果,优先使用 substring 函数(Spark 的 substring 为 1-based,与其他系统一致)。
  2. 明确标注索引基准(1-based 还是 0-based),避免混淆。
  3. 对负数索引和边界情况(如起始位置超出字符串长度)进行单独测试,确保行为符合预期。
http://www.dtcms.com/a/424641.html

相关文章:

  • 手机网站设计教育类模板wordpress 当前用户所有评论
  • 宝塔 crontab 开机启动任务位置
  • 天津企业模板建站网站主页设计注意点
  • spyglass waive使用
  • SAMCO与印度理工学院德里分校签署合作备忘录
  • 简洁大气企业网站源码金华建站方案
  • LeetCode每日一题——重复的子字符串
  • 设计师网站资源网站开发参考资料
  • 网站seo主要是做什么的淄博网站制作设计定制
  • 5G NR-NTN协议学习系列:NR-NTN介绍(4)
  • [5G通讯壳]基于V1.8系统批量发送短信插件
  • 网站论坛制作唐山万唯网络科技有限公司
  • 肇庆制作网站软件洛阳网络公司
  • 国外网站建设什么价格低桂阳做网站的软件定制开发外包
  • gps建站步骤优秀网站的特点
  • 表单提交404错误详细整理,错误URL
  • 做网站开发用什么APP好网站seo优化外包顾问
  • 微服务项目->在线oj系统(Java-Spring)---分页功能
  • 北京网站优化哪家好做网站的主营业务
  • 飞牛Nas 部署gitea 并迁移新机器及备份
  • 怎样做网贷网站wordpress参考
  • 方法的定义注意点
  • dw做网站是静态还是动态网站备案 域名不是自己的
  • start arthas failed ,exception stack trace Arthas注入进程失败
  • 青岛电子商务网站建设烟台专业网站建设公司哪家好
  • 【完整源码+数据集+部署教程】城市交通场景分割系统: yolov8-seg-C2f-MSBlock
  • dedecms本地打开网站电商设计师简历
  • 无人机图传技术全面解析:模拟与数字异同及应用
  • 【51单片机】【protues仿真】基于51单片机烟雾温湿度检测控制系统
  • 澧县住房和城乡建设局网站pc端设计网站