OceanBase logo

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Resources

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS

OceanBase Cloud

OceanBase Database

Tools

Connectors and Middleware

QUICK START

OceanBase Cloud

OceanBase Database

BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Company

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

International - English
中国站 - 简体中文
日本 - 日本語
Sign In
Start on Cloud

OceanBase

A unified distributed database ready for your transactional, analytical, and AI workloads.

Product Overview
DEPLOY YOUR WAY

OceanBase Cloud

The best way to deploy and scale OceanBase

OceanBase Enterprise

Run and manage OceanBase on your infra

TRY OPEN SOURCE

OceanBase Community Edition

The free, open-source distributed database

OceanBase seekdb

Open source AI native search database

Customer Stories

Real-world success stories from enterprises across diverse industries.

View All
BY USE CASES

Mission-Critical Transactions

Global & Multicloud Application

Elastic Scaling for Peak Traffic

Real-time Analytics

Active Geo-redundancy

Database Consolidation

Comprehensive knowledge hub for OceanBase.

Blog

Live Demos

Training & Certification

Documentation

Official technical guides, tutorials, API references, and manuals for all OceanBase products.

View All
PRODUCTS
OceanBase CloudOceanBase Database
ToolsConnectors and Middleware
QUICK START
OceanBase CloudOceanBase Database
BEST PRACTICES

Practical guides for utilizing OceanBase more effectively and conveniently

Learn more about OceanBase – our company, partnerships, and trust and security initiatives.

About OceanBase

Partner

Trust Center

Contact Us

Start on Cloud
编组
All Products
    • Databases
    • iconOceanBase Database
    • iconOceanBase Cloud
    • iconOceanBase Tugraph
    • iconInteractive Tutorials
    • iconOceanBase Best Practices
    • Tools
    • iconOceanBase Cloud Platform
    • iconOceanBase Migration Service
    • iconOceanBase Developer Center
    • iconOceanBase Migration Assessment
    • iconOceanBase Admin Tool
    • iconOceanBase Loader and Dumper
    • iconOceanBase Deployer
    • iconKubernetes operator for OceanBase
    • iconOceanBase Diagnostic Tool
    • iconOceanBase Binlog Service
    • Connectors and Middleware
    • iconOceanBase Database Proxy
    • iconEmbedded SQL in C for OceanBase
    • iconOceanBase Call Interface
    • iconOceanBase Connector/C
    • iconOceanBase Connector/J
    • iconOceanBase Connector/ODBC
    • iconOceanBase Connector/NET
icon

OceanBase Database Proxy

V4.3.2

  • What is ODP?
  • Installation and deployment
    • Deployment modes
    • Deploy ODP by using OCP
    • Overview
    • Deploy ODP by using the CLI
    • Deploy ODP by using obd
  • Basic operations
  • Configuration parameter
    • Parameter summary
    • View and modify parameters
    • Global parameters
      • block_thread_num
      • cache_cleaner_clean_interval
      • check_tenant_locality_change
      • client_max_connections
      • client_max_memory_size
      • client_session_id_version
      • client_sock_option_flag_out
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • congestion_fail_window
      • congestion_failure_threshold
      • current_local_config_version
      • default_inactivity_timeout
      • delay_update_entry_interval
      • digest_sql_length
      • enable_async_log
      • enable_binlog_service
      • enable_cached_server
      • enable_congestion
      • enable_connection_diagnosis
      • enable_extra_prometheus_metric
      • enable_flow_control
      • enable_get_rslist_remote
      • enable_global_ps_cache
      • enable_index_route
      • enable_monitor_stat
      • enable_partition_table_route
      • enable_performance_mode
      • enable_primary_zone
      • enable_prometheus
      • enable_qa_mode
      • enable_qos
      • enable_reroute
      • enable_single_leader_node_routing
      • enable_standby
      • enable_stat
      • enable_sync_all_stats
      • enable_syslog_file_compress
      • enable_syslog_wf
      • enable_trace
      • fetch_proxy_bin_random_time
      • fetch_proxy_bin_timeout
      • flow_event_queue_threshold
      • flow_low_water_mark
      • grpc_thread_num
      • hot_upgrade_failure_retries
      • hot_upgrade_rollback_timeout
      • ignore_local_config
      • ip_listen_mode
      • listen_port
      • local_bound_ip
      • log_dir_size_threshold
      • log_file_percentage
      • max_log_file_size
      • max_syslog_file_time
      • metadb_server_state_refresh_interval
      • monitor_cost_ms_unit
      • monitor_item_limit
      • monitor_stat_high_threshold
      • monitor_stat_middle_threshold
      • need_convert_vip_to_tname
      • normal_pl_update_threshold
      • partition_location_expire_relative_time
      • prometheus_listen_port
      • protocol_diagnosis_level
      • proxy_hot_upgrade_check_interval
      • proxy_id
      • qa_mode_mock_public_cloud_slb_addr
      • qos_stat_item_limit
      • refresh_idc_list
      • request_buffer_length
      • rpc_enable_congestion
      • rpc_enable_global_index
      • rpc_enable_retry_request_info_log
      • rpc_force_srv_black_list
      • rpc_net_timeout_base
      • rpc_max_server_table_entry_num
      • rpc_server_entry_expire_time
      • rpc_server_net_invalid_time_us
      • rpc_server_net_handler_expire_time
      • rpc_server_net_max_pending_request
      • rpc_sub_request_isolation_mode
      • rpc_support_key_partition_shard_request
      • rpc_sub_request_weight
      • sequence_entry_expire_time
      • sequence_prefetch_threshold
      • server_detect_fail_threshold
      • server_detect_mode
      • server_routing_mode
      • server_state_refresh_interval
      • server_tcp_init_cwnd
      • server_tcp_keepidle
      • server_tcp_keepintvl
      • short_async_task_timeout
      • sock_packet_mark_out
      • sock_packet_tos_out
      • sock_recv_buffer_size_out
      • sock_send_buffer_size_out
      • sql_table_cache_mem_limited
      • sqlaudit_mem_limited
      • stack_size
      • stat_table_sync_interval
      • syslog_level
      • task_thread_num
      • tunnel_request_size_threshold
      • username_separator
      • work_thread_num
      • xflush_log_level
      • automatic_match_work_thread
      • client_tcp_keepcnt
      • client_tcp_keepidle
      • client_tcp_keepintvl
      • cluster_expire_time
      • config_server_refresh_interval
      • congestion_retry_interval
      • connection_diagnosis_option
      • connect_observer_max_retries
      • default_buffer_water_mark
      • delay_exit_time
      • detect_server_timeout
      • enable_abort_conn_info
      • enable_async_pull_location_cache
      • enable_bad_route_reject
      • enable_causal_order_read
      • enable_client_connection_lru_disconnect
      • enable_client_ip_checkout
      • enable_cluster_checkout
      • enable_compression_protocol
      • enable_cpu_isolate
      • enable_cpu_topology
      • enable_full_link_trace
      • enable_full_username
      • enable_ob_protocol_v2
      • enable_ob_protocol_v2_with_client
      • enable_obproxy_rpc_service
      • enable_pl_route
      • enable_proxy_scramble
      • enable_report_session_stats
      • enable_sequence_prefetch
      • enable_sharding
      • enable_strict_kernel_release
      • enable_strict_stat_time
      • enable_trace_stats
      • enable_trans_detail_stats
      • enable_transaction_internal_routing
      • enable_xa_route
      • flow_consumer_reenable_threshold
      • flow_high_water_mark
      • grpc_client_num
      • hot_upgrade_exit_timeout
      • idc_list_refresh_interval
      • internal_cmd_mem_limited
      • ldg_info_refresh_interval
      • local_bound_ipv6_ip
      • log_cleanup_interval
      • long_async_task_timeout
      • max_syslog_file_count
      • mem_leak_check_class_name
      • mem_leak_check_mod_name
      • min_congested_connect_timeout
      • min_keep_congestion_interval
      • monitor_item_max_idle_period
      • monitor_log_level
      • rpc_server_net_invalid_time_us
      • rpc_server_net_handler_expire_time
      • rpc_server_net_max_pending_request
      • rpc_srv_session_pool_inactive_timeout
      • rpc_service_mode
      • rpc_sub_request_isolation_mode
      • rpc_support_key_partition_shard_request
      • rpc_sub_request_weight
      • sequence_entry_expire_time
      • sequence_fail_retry_count
      • sequence_prefetch_threshold
      • server_detect_fail_threshold
      • server_detect_mode
      • server_detect_refresh_interval
      • server_routing_mode
      • server_state_refresh_interval
      • server_tcp_init_cwnd
      • server_tcp_keepcnt
      • server_tcp_keepidle
      • server_tcp_keepintvl
      • server_tcp_user_timeout
      • shard_scan_thread_num
      • short_async_task_timeout
      • skip_proxy_sys_private_check
      • skip_proxyro_check
      • slow_proxy_process_time_threshold
      • slow_transaction_time_threshold
      • sock_option_flag_out
      • sock_packet_mark_out
      • sock_packet_tos_out
      • sock_recv_buffer_size_out
      • sock_send_buffer_size_out
      • sql_table_cache_expire_relative_time
      • sql_table_cache_mem_limited
      • sqlaudit_mem_limited
      • stack_size
      • stat_dump_interval
      • stat_table_sync_interval
      • syslog_io_bandwidth_limit
      • syslog_level
      • task_thread_num
      • tenant_location_valid_time
      • tunnel_request_size_threshold
      • username_separator
      • work_thread_num
      • xflush_log_level
    • Multi-level parameters
      • enable_read_write_split
      • obproxy_force_parallel_query_dop
      • proxy_primary_zone_name
      • enable_transaction_split
      • weakread_weight_zone
      • obproxy_read_consistency
      • read_stale_retry_interval
      • sql_firewall_config
      • rootservice_cluster_name
      • proxy_route_policy
      • route_diagnosis_level
      • proxy_tenant_name
      • proxy_idc_name
      • enable_rpc_throttle
      • binlog_service_ip
      • query_digest_time_threshold
      • enable_server_ssl
      • compression_algorithm
      • obproxy_read_only
      • enable_cloud_full_username
      • route_target_replica_type
      • observer_sys_password1
      • observer_query_timeout_delta
      • rpc_throttle_limit_qps_qa
      • enable_weak_reroute
      • target_db_server
      • slow_query_time_threshold
      • observer_sys_password
      • enable_client_ssl
      • rpc_request_throttle_waiting_time
      • mysql_version
      • rpc_throttle_trigger_percentage
      • ob_max_read_stale_time
      • ssl_attributes
  • Connection management
    • Principles
    • Network connection
    • Client session
    • Session status synchronization
    • Configure a globally unique client session ID
    • Server session
  • Data routing
    • Automatic routing to the primary/standby tenants
    • Factors affecting data routing
    • Partitioning key types supported for routing by ODP
    • Character set-based routing
    • ODP routing
    • Follower latency threshold
    • Read/Write separation
    • Function partition key routing
      • String functions
      • Numeric calculation functions
      • Overview
      • FAQ
      • Date calculation functions
    • Intra-tenant routing
      • IP address-based routing
      • Global index table-based routing for strong-consistency reads
      • Partitioned table-based routing for strong-consistency reads
      • Replicated table-based routing for strong-consistency reads
      • Strategy-based routing
      • Distributed transaction routing
      • Primary zone-based routing for strong-consistency reads
      • Forcible routing
      • Weight-based load-balanced routing
      • Overview
      • Rerouting
  • Logs
    • obproxy.log
    • obproxy_stat.log
    • obproxy_error.log
    • obproxy_diagnosis.log
    • obproxy_digest.log
    • Overview
    • obproxy_slow.log
  • Commands
    • Overview
    • Dedicated ODP commands
      • KILL
      • ALTER
      • ping
      • SHOW
    • Compatible MySQL commands
      • SHOW RELAYLOG EVENTS
      • KILL
      • BINLOG
      • SHOW PROCESSLIST
      • SHOW SLAVE HOSTS
  • High availability mechanism
    • High availability testing
    • Overview
    • High availability of ODP services
    • High availability of OceanBase Database
  • OBKV
    • Throttling
    • RPC service port
    • OBKV-Redis
  • Security and protocols
  • Operation and maintenance
    • Troubleshooting logic
    • Performance analysis
    • Show Trace
    • Routing diagnostics
      • Overview
      • Examples
      • Obtain diagnostic information
      • Diagnostic point troubleshooting
        • PARTITION_ENTRY_LOOKUP_DONE
        • PARTITION_ID_CALC_DONE
        • ROUTE_POLICY
        • HANDLE_RESPONSE
        • ROUTE_INFO
        • EXPR_PARSE
        • Overview
        • CONGESTION_CONTROL
        • RESOLVE_TOKEN
        • SQL_PARSE
        • FETCH_TABLE_RELATED_DATA
        • LOCATION_CACHE_LOOKUP
        • ROUTINE_ENTRY_LOOKUP_DONE
        • RESOLVE_EXPR
        • CALC_ROWID
        • CALC_PARTITION_ID
        • TABLE_ENTRY_LOOKUP_DONE
        • RETRY
    • Memory leak diagnostics
    • Connection diagnostics
    • Prometheus monitoring
    • SQL firewall
  • Release Notes
    • Versioning rules
    • Enterprise Edition
      • V3.2
        • ODP Enterprise Edition V3.2.11
        • ODP Enterprise Edition V3.2.3.5
      • V4.3
        • ODP Enterprise Edition V4.3.1
        • ODP Enterprise Edition V4.3.2
        • ODP Enterprise Edition V4.3.0
      • V4.2
        • ODP Enterprise Edition V4.2.3
        • ODP Enterprise Edition V4.2.2
        • ODP Enterprise Edition V4.2.1
      • V4.0
        • ODP Enterprise Edition V4.0.0
      • V4.1
        • ODP Enterprise Edition V4.1.0
    • Community Edition
      • V4.2
        • ODP Community Edition V4.2.0
        • ODP Community Edition V4.2.1
        • ODP Community Edition V4.2.3
      • V4.3
        • ODP Community Edition V4.3.2
        • ODP Community Edition V4.3.1
      • V4.0
        • ODP Community Edition V4.0.0
      • V4.1
        • ODP Community Edition V4.1.0

Download PDF

What is ODP? Deployment modes Deploy ODP by using OCP Overview Deploy ODP by using the CLI Deploy ODP by using obd Basic operations Parameter summary View and modify parameters block_thread_num cache_cleaner_clean_interval check_tenant_locality_change client_max_connections client_max_memory_size client_session_id_version client_sock_option_flag_out client_tcp_user_timeout cluster_count_high_water_mark congestion_fail_window congestion_failure_threshold current_local_config_version default_inactivity_timeout delay_update_entry_interval digest_sql_length enable_async_log enable_binlog_service enable_cached_server enable_congestion enable_connection_diagnosis enable_extra_prometheus_metric enable_flow_control enable_get_rslist_remote enable_global_ps_cache enable_index_route enable_monitor_stat enable_partition_table_route enable_performance_mode enable_primary_zone enable_prometheus enable_qa_mode enable_qos enable_reroute enable_single_leader_node_routing enable_standby enable_stat enable_sync_all_stats enable_syslog_file_compress enable_syslog_wf enable_trace fetch_proxy_bin_random_time fetch_proxy_bin_timeout flow_event_queue_threshold flow_low_water_mark grpc_thread_num hot_upgrade_failure_retries hot_upgrade_rollback_timeout ignore_local_config ip_listen_mode listen_port local_bound_ip log_dir_size_threshold log_file_percentage max_log_file_size max_syslog_file_time metadb_server_state_refresh_interval monitor_cost_ms_unit monitor_item_limit monitor_stat_high_threshold monitor_stat_middle_threshold need_convert_vip_to_tname normal_pl_update_threshold partition_location_expire_relative_time prometheus_listen_port protocol_diagnosis_level proxy_hot_upgrade_check_interval proxy_id qa_mode_mock_public_cloud_slb_addr qos_stat_item_limit refresh_idc_list request_buffer_length rpc_enable_congestion rpc_enable_global_index rpc_enable_retry_request_info_log rpc_force_srv_black_list rpc_net_timeout_base rpc_max_server_table_entry_num rpc_server_entry_expire_time rpc_server_net_invalid_time_us rpc_server_net_handler_expire_time rpc_server_net_max_pending_request rpc_sub_request_isolation_mode rpc_support_key_partition_shard_request rpc_sub_request_weight sequence_entry_expire_time sequence_prefetch_threshold server_detect_fail_threshold server_detect_mode server_routing_mode server_state_refresh_interval server_tcp_init_cwnd
OceanBase logo

The Unified Distributed Database for the AI Era.

Follow Us
Products
OceanBase CloudOceanBase EnterpriseOceanBase Community EditionOceanBase seekdb
Resources
DocsBlogWhite PaperLive DemosTraining & CertificationTicket
Company
About OceanBaseTrust CenterLegalPartnerContact Us
Follow Us

© OceanBase 2026. All rights reserved

Cloud Service AgreementPrivacy PolicySecurity
Contact Us
Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.2
iconOceanBase Database Proxy
V 4.3.2
Databases
  • OceanBase Database
  • OceanBase Cloud
  • OceanBase Tugraph
  • Interactive Tutorials
  • OceanBase Best Practices
Tools
  • OceanBase Cloud Platform
  • OceanBase Migration Service
  • OceanBase Developer Center
  • OceanBase Migration Assessment
  • OceanBase Admin Tool
  • OceanBase Loader and Dumper
  • OceanBase Deployer
  • Kubernetes operator for OceanBase
  • OceanBase Diagnostic Tool
  • OceanBase Binlog Service
Connectors and Middleware
  • OceanBase Database Proxy
  • Embedded SQL in C for OceanBase
  • OceanBase Call Interface
  • OceanBase Connector/C
  • OceanBase Connector/J
  • OceanBase Connector/ODBC
  • OceanBase Connector/NET
  • V 4.3.6
  • V 4.3.4
  • V 4.3.3
  • V 4.3.2
  • V 4.3.1
  • V 4.3.0
  • V 4.2.3
  • V 4.2.2
  • V 4.2.0 and earlier

String functions

Last Updated:2026-04-14 09:41:41  Updated
Share
What is on this page
SUBSTR/SUBSTRING
TO_CHAR
LOWER/LCASE
UPPER/UCASE
TRIM
LTRIM
RTRIM
CONCAT
REPLACE
LENGTH

folded

Share

This topic provides examples for each string function.

Note

  • We recommend that you use string functions by referring to examples in this topic.

  • All examples in this topic assume that the database has a table named t1 and the partitioning key of the t1 table is the c1 column.

SUBSTR/SUBSTRING

Both the SUBSTR and SUBSTRING functions extract a substring from a string. The following takes the SUBSTR function as an example. Currently, the following syntaxes are supported:

  • substr(str, pos)

    • str: the original string from which the substring is to be extracted.

    • pos: the index of the start position for extracting the substring.

  • substr(str, pos, len)

    • str: the original string from which the substring is to be extracted.

    • pos: the index of the start position for extracting the substring.

    • len: the number of characters in the substring to be extracted.

The substr(str from pos) or substr(str from pos for len) syntax is not supported.

Here are some examples of the SUBSTR function:

  • Select rows where c1 is lo from table t1. OceanBase Database Proxy (ODP) can accurately route the SQL query.

    select * from t1 where c1=substr('hello',4);
    
  • Select rows where c1 is hel from table t1. ODP can accurately route the SQL query.

    select * from t1 where c1=substr('hello',1,3);
    

TO_CHAR

The TO_CHAR function converts data of the datetime type to that of the char type. Currently, ODP supports only the to_char (datetime, [fmt]) syntax where the first argument is of the date or timestamp type.

Example: Select rows where c1 equals the current system date in the format of YYYY/MM/DD from table t1. ODP can accurately route the SQL query.

select * from t1 where c1=to_char(sysdate,'YYYY/MM/DD');

LOWER/LCASE

The LOWER and LCASE functions convert characters into lowercase. The following takes the LOWER function as an example. Currently, ODP supports the lower(str) syntax.

Example: Select rows where c1 is aaaa from table t1. ODP can accurately route the SQL query.

select * from t1 where c1=lower('aAAA');

UPPER/UCASE

The UPPER and UCASE functions convert characters into uppercase. The following takes the UPPER function as an example. Currently, ODP supports the upper(str) syntax.

Example: Select rows where c1 is ASSDS from table t1. ODP can accurately route the SQL query.

select * from t1 where c1=upper('ASsds');

TRIM

The TRIM function removes the specified leading and/or trailing characters from a string. By default, spaces are removed. Currently, ODP supports the following syntaxes:

  • trim ([BOTH| LEADING | TRAILING] remove_str FROM str)

    • BOTH: removes the specified leading and trailing characters from a string. This parameter is optional.

    • LEADING: removes the specified leading characters from a string. This parameter is optional.

    • TRAILING: removes the specified trailing characters from a string. This parameter is optional.

    • remove_str: the characters to be removed from the original string str. In the Oracle mode of OceanBase Database, the size of this parameter is one character.

    • str: the original string from which the specified remove_str is to be removed.

  • trim(remove_str from str)

    • remove_str: the characters to be removed from the original string str. In the Oracle mode of OceanBase Database, the size of this parameter is one character.

    • str: the original string from which the specified remove_str is to be removed.

  • trim(str)

Example: Select rows where c1 is #Hello_#_# from table t1. ODP can accurately route the SQL query.

select * from t1 where c1=trim('_' from '_#Hello_#_#');

LTRIM

The LTRIM function removes the specified leading characters from a string. By default, spaces are removed. ODP supports the following syntaxes:

  • MySQL mode: ltrim(str)

  • Oracle mode: ltrim(str,[set])

    • str: the string from which the specified characters are to be removed.

    • set: the characters to be removed. This parameter is optional.

Example: Select rows where c1 equals ltrim(' 123'), that is, the 123 string, from table t1. ODP can accurately route the SQL query.

select * from t1 where c1= ltrim('   123'); 

RTRIM

The RTRIM function removes the specified trailing characters from a string. By default, spaces are removed. ODP supports the following syntaxes:

  • MySQL mode: rtrim(str)

  • Oracle mode: rtrim(str,[set])

    • str: the string from which the specified characters are to be removed.

    • set: the characters to be removed. This parameter is optional.

Example: Select rows where c1 equals rtrim('Helloa_***#__','_*#'), that is, the Helloa string, from table t1. ODP can accurately route the SQL query.

select * from t1 where c1= rtrim('Helloa_***#__','_*#'); 

CONCAT

The CONCAT function concatenates one or more strings into a new single string. ODP supports the concat(string1, string2, ..., stringN) syntax.

Example: Select rows where c1 equals concat('a','b'), that is, the ab string, from table t1. ODP can accurately route the SQL query.

select * from t1 where c1 = concat('a','b');

REPLACE

The REPLACE function replaces a substring in a string with another substring. ODP supports the replace(str,from_str,to_str) syntax.

  • str: the original string in which a substring is to be replaced.

  • from_str: the substring to be replaced. If this substring is contained in str, it will be replaced with to_str.

  • to_str: the new substring that replaces from_str.

Example: Select rows where c1 is heLLo from table t1. ODP can accurately route the SQL query.

select * from t1 where c1=replace('hello','l','L');

LENGTH

The LENGTH function returns the length of a string. ODP supports the length(str) syntax.

Example: Select rows where c1 equals length('hello'), that is, 5, from table t1.

select * from t1 where c1=length('hello');

Previous topic

Overview
Last

Next topic

Numeric calculation functions
Next
What is on this page
SUBSTR/SUBSTRING
TO_CHAR
LOWER/LCASE
UPPER/UCASE
TRIM
LTRIM
RTRIM
CONCAT
REPLACE
LENGTH