OceanBase
English日本語简体中文
Docs Home
Products
Integrations
Release Notes

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Databases

OceanBase DatabaseOceanBase Cloud OceanBase Best Practices

Connectors and Middleware

OceanBase Database Proxy OceanBase Connector/C OceanBase Connector/J OceanBase Connector/ODBC OceanBase Connector/NETOceanBase Command-Line Client

Tools

OceanBase Cloud PlatformOceanBase Migration ServiceOceanBase Developer CenterOceanBase Migration AssessmentOceanBase Admin ToolOceanBase Loader and DumperOceanBase DeployerKubernetes operator for OceanBaseOceanBase Diagnostic Tool OceanBase Binlog Service
OceanBase DatabaseOceanBase Cloud ToolsConnectors and MiddlewareLifecycle Support Policy

OceanBase Database Proxy

V4.3.1
  • What is ODP?
  • Installation and deployment
    • Overview
    • Deploy ODP by using obd
    • Deploy ODP by using OCP
    • Deploy ODP by using the CLI
    • Deployment modes
  • Basic operations
  • Configuration parameter
    • View and modify parameters
    • Parameter summary
    • Global parameters
      • automatic_match_work_thread
      • 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_keepcnt
      • client_tcp_keepidle
      • client_tcp_keepintvl
      • client_tcp_user_timeout
      • cluster_count_high_water_mark
      • cluster_expire_time
      • config_server_refresh_interval
      • congestion_fail_window
      • congestion_failure_threshold
      • congestion_retry_interval
      • connection_diagnosis_option
      • connect_observer_max_retries
      • current_local_config_version
      • default_buffer_water_mark
      • default_inactivity_timeout
      • delay_exit_time
      • delay_update_entry_interval
      • detect_server_timeout
      • digest_sql_length
      • enable_abort_conn_info
      • enable_async_log
      • enable_async_pull_location_cache
      • enable_bad_route_reject
      • enable_binlog_service
      • enable_cached_server
      • enable_causal_order_read
      • enable_client_connection_lru_disconnect
      • enable_client_ip_checkout
      • enable_cluster_checkout
      • enable_compression_protocol
      • enable_congestion
      • enable_connection_diagnosis
      • enable_cpu_isolate
      • enable_cpu_topology
      • enable_extra_prometheus_metric
      • enable_flow_control
      • enable_full_link_trace
      • enable_full_username
      • enable_get_rslist_remote
      • enable_global_ps_cache
      • enable_index_route
      • enable_monitor_stat
      • enable_ob_protocol_v2
      • enable_ob_protocol_v2_with_client
      • enable_obproxy_rpc_service
      • enable_partition_table_route
      • enable_performance_mode
      • enable_pl_route
      • enable_primary_zone
      • enable_prometheus
      • enable_proxy_scramble
      • enable_qa_mode
      • enable_qos
      • enable_report_session_stats
      • enable_reroute
      • enable_sequence_prefetch
      • enable_sharding
      • enable_single_leader_node_routing
      • enable_standby
      • enable_stat
      • enable_strict_kernel_release
      • enable_strict_stat_time
      • enable_sync_all_stats
      • enable_syslog_file_compress
      • enable_syslog_wf
      • enable_trace
      • enable_trace_stats
      • enable_trans_detail_stats
      • enable_transaction_internal_routing
      • enable_xa_route
      • fetch_proxy_bin_random_time
      • fetch_proxy_bin_timeout
      • flow_consumer_reenable_threshold
      • flow_event_queue_threshold
      • flow_high_water_mark
      • flow_low_water_mark
      • grpc_client_num
      • grpc_thread_num
      • hot_upgrade_exit_timeout
      • hot_upgrade_failure_retries
      • hot_upgrade_rollback_timeout
      • idc_list_refresh_interval
      • ignore_local_config
      • internal_cmd_mem_limited
      • ip_listen_mode
      • ldg_info_refresh_interval
      • listen_port
      • local_bound_ip
      • local_bound_ipv6_ip
      • log_cleanup_interval
      • log_dir_size_threshold
      • log_file_percentage
      • long_async_task_timeout
      • max_log_file_size
      • max_syslog_file_count
      • max_syslog_file_time
      • mem_leak_check_class_name
      • mem_leak_check_mod_name
      • metadb_server_state_refresh_interval
      • min_congested_connect_timeout
      • min_keep_congestion_interval
      • monitor_cost_ms_unit
      • monitor_item_limit
      • monitor_item_max_idle_period
      • monitor_log_level
      • monitor_stat_dump_interval
      • monitor_stat_high_threshold
      • monitor_stat_low_threshold
      • monitor_stat_middle_threshold
      • need_convert_vip_to_tname
      • net_accept_threads
      • net_config_poll_timeout
      • normal_pl_update_threshold
      • obproxy_config_server_url
      • obproxy_sys_password
      • partition_location_expire_relative_time
      • prometheus_cost_ms_unit
      • prometheus_listen_port
      • prometheus_sync_interval
      • protocol_diagnosis_level
      • proxy_hot_upgrade_check_interval
      • proxy_id
      • proxy_info_check_interval
      • proxy_local_cmd
      • proxy_mem_limited
      • qa_mode_mock_public_cloud_slb_addr
      • qos_stat_clean_interval
      • qos_stat_item_limit
      • refresh_idc_list
      • refresh_json_config
      • refresh_rslist
      • request_buffer_length
      • rootservice_list
      • routing_cache_mem_limited
      • rpc_enable_direct_expire_route_entry
      • rpc_enable_congestion
      • rpc_enable_global_index
      • rpc_enable_force_srv_black_list
      • rpc_enable_reroute
      • rpc_enable_parallel_handler
      • rpc_enable_retry_request_info_log
      • rpc_force_srv_black_list
      • rpc_max_request_batch_size
      • rpc_listen_port
      • rpc_max_response_batch_size
      • rpc_net_timeout_base
      • rpc_max_server_table_entry_num
      • rpc_request_timeout
      • rpc_period_task_interval
      • rpc_server_entry_expire_time
      • rpc_request_timeout_delta
      • 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_support_key_partition_shard_request
      • 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
      • binlog_service_ip
      • compression_algorithm
      • enable_client_ssl
      • enable_cloud_full_username
      • enable_read_write_split
      • enable_server_ssl
      • enable_transaction_split
      • enable_weak_reroute
      • mysql_version
      • ob_max_read_stale_time
      • obproxy_force_parallel_query_dop
      • obproxy_read_consistency
      • obproxy_read_only
      • observer_query_timeout_delta
      • observer_sys_password
      • observer_sys_password1
      • proxy_idc_name
      • proxy_primary_zone_name
      • proxy_route_policy
      • proxy_tenant_name
      • query_digest_time_threshold
      • read_stale_retry_interval
      • rootservice_cluster_name
      • route_diagnosis_level
      • slow_query_time_threshold
      • ssl_attributes
      • target_db_server
  • Connection management
    • Principles
    • Session status synchronization
    • Configure a globally unique client session ID
    • Client session
    • Server session
    • Network connection
  • Data routing
    • Factors affecting data routing
    • ODP routing
    • Intra-tenant routing
      • Overview
      • IP address-based routing
      • Partitioned table-based routing for strong-consistency reads
      • Global index table-based routing for strong-consistency reads
      • Replicated table-based routing for strong-consistency reads
      • Primary zone-based routing for strong-consistency reads
      • Strategy-based routing
      • Distributed transaction routing
      • Rerouting
      • Forcible routing
    • Automatic routing to the primary/standby tenants
    • Read/Write separation
    • Follower latency threshold
    • Function partition key routing
      • Overview
      • String functions
      • Numeric calculation functions
      • Date calculation functions
      • FAQ
    • Character set-based routing
  • Logs
    • Overview
    • obproxy_diagnosis.log
    • obproxy_digest.log
    • obproxy_error.log
    • obproxy_slow.log
    • obproxy_stat.log
    • obproxy.log
  • Commands
    • Overview
    • Dedicated ODP commands
      • ALTER
      • KILL
      • ping
      • SHOW
    • Compatible MySQL commands
      • BINLOG
      • KILL
      • SHOW PROCESSLIST
      • SHOW RELAYLOG EVENTS
      • SHOW SLAVE HOSTS
  • High availability mechanism
    • Overview
    • High availability of ODP services
    • High availability of OceanBase Database
    • High availability testing
  • Security and protocols
  • RPC service port
  • Operation and maintenance
    • Troubleshooting logic
    • Performance analysis
    • Show Trace
    • Routing diagnostics
      • Overview
      • Obtain diagnostic information
      • Diagnostic point troubleshooting
        • Overview
        • SQL_PARSE
        • ROUTE_INFO
        • LOCATION_CACHE_LOOKUP
        • ROUTINE_ENTRY_LOOKUP_DONE
        • FETCH_TABLE_RELATED_DATA
        • TABLE_ENTRY_LOOKUP_DONE
        • EXPR_PARSE
        • CALC_ROWID
        • RESOLVE_TOKEN
        • RESOLVE_EXPR
        • CALC_PARTITION_ID
        • PARTITION_ID_CALC_DONE
        • PARTITION_ENTRY_LOOKUP_DONE
        • ROUTE_POLICY
        • CONGESTION_CONTROL
        • RETRY
        • HANDLE_RESPONSE
      • Examples
    • Memory leak diagnostics
    • Connection diagnostics
  • Release Notes
    • Versioning rules
    • Enterprise Edition
      • V4.3
        • ODP Enterprise Edition V4.3.1
        • 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.1
        • ODP Enterprise Edition V4.1.0
      • V4.0
        • ODP Enterprise Edition V4.0.0
      • V3.2
        • ODP Enterprise Edition V3.2.11
        • ODP Enterprise Edition V3.2.3.5
    • Community Edition
      • V4.3
        • ODP Community Edition V4.3.1
      • V4.2
        • ODP Community Edition V4.2.3
        • ODP Community Edition V4.2.1
        • ODP Community Edition V4.2.0
      • V4.1
        • ODP Community Edition V4.1.0
      • V4.0
        • ODP Community Edition V4.0.0

Download PDF

Document Feedback
  1. Documentation Center
  2. OceanBase Database Proxy
  3. V4.3.1

String functions

Last Updated:2026-09-04 08:23:04

SUBSTR/SUBSTRING
TO_CHAR
LOWER/LCASE
UPPER/UCASE
TRIM
LTRIM
RTRIM
CONCAT
REPLACE
LENGTH

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
on this page
SUBSTR/SUBSTRING
TO_CHAR
LOWER/LCASE
UPPER/UCASE
TRIM
LTRIM
RTRIM
CONCAT
REPLACE
LENGTH