zoukankan      html  css  js  c++  java
  • SQL中字符串截取、连接、替换等函数的用法

    一、SQL中SUBSTRING函数的用法
    1、功能:返回字符、二进制、文本或图像表达式的一部分
    2、语法:SUBSTRING ( expression, start, length )
    3、QL 中的 substring 函数是用来抓出一个栏位数据中的其中一部分。这个函数的名称在不同的数据库中不完全一样:
    MySQL: SUBSTR(), SUBSTRING()
    Oracle: SUBSTR()
    SQL Server: SUBSTRING()
    4、参数:
    expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。
    start 整数或可以隐式转换为 int 的表达式,指定子字符串的开始位置。
    length 整数或可以隐式转换为 int 的表达式,指定子字符串的长度。

    5、举例:

        (1)SELECT  SUBSTR('MySQL', 2, 2);

          结果:'yS'

        (2)UPDATE tb_lse_data_latbook SET latbook_urlParam=SUBSTRING(latbook_url,28,LENGTH(latbook_url)) WHERE db_id=51;



    二、SQL— CONCAT(字符串连接函数)
    有的时候,我们有需要将由不同栏位获得的资料串连在一起。每一种资料库都有提供方法来达到这个目的:
    MySQL: CONCAT()
    Oracle: CONCAT(), ||
    SQL Server: +

    CONCAT() 的语法如下:
    CONCAT(字串1, 字串2, 字串3, ...): 将字串1、字串2、字串3,等字串连在一起。
    请注意,Oracle的CONCAT()只允许两个参数;
    换言之,一次只能将两个字串串连起来。不过,在Oracle中,我们可以用'||'来一次串连多个字串。

    来看几个例子。假设我们有以下的表格:

    Geography 表格 

    region_name store_name
    East Boston
    East New York
    West Los Angeles
    West San Diego

    例子1:
    MySQL:
    (1)SELECT CONCAT('My', 'S', 'QL');

    结果:

    'MySQL'

    (2)UPDATE tb_lse_data_latbook SET latbook_urlParam=CONCAT('key=',latbook_issn) WHERE db_id=54
    (3)UPDATE tb_lse_data_latbook SET latbook_urlParam=CONCAT('key=',latbook_issn,'&volume=') WHERE db_id=21

    例子2:
    Oracle:
    (1)SELECT CONCAT(region_name,store_name) FROM Geography WHERE store_name = 'Boston';
    结果:
    'EastBoston'
    (2)SELECT region_name || ' ' || store_name FROM Geography WHERE store_name = 'Boston';
    结果:

    'East Boston'

    例子3:
    SQL Server:
    (1)SELECT region_name + ' ' + store_name FROM Geography WHERE store_name = 'Boston';
    结果:
    'East Boston'


    三、SQL中的REPLACE替换字符函数的用法
    语法 
    REPLACE ( original-string, search-string, replace-string )

    参数 
    如果有某个参数为 NULL,此函数返回 NULL。
    original-string      被搜索的字符串。可为任意长度。
    search-string       要搜索并被 replace-string 替换的字符串。该字符串的长度不应超过 255 个字节。如果 search-string 是空字符串,则按原样返回原始字符串。
    replace-string      该字符串用于替换 search-string。可为任意长度。如果 replacement-string 是空字符串,则删除出现的所有 search-string。

    例子:

    将表tableName中的recordName字段中的 abc 替换为 ddd

    (1)UPDATE tableName SET recordName=REPLACE(recordName,'abc','ddd')

    这个函数有一点不足是不支持 text,ntext类型字段的替换,可以通过下面的语句来实现:
    (2)update tableName set recordName=replace(cast(recordName as varchar(8000)) ,'abc','ddd')

    (3)UPDATE tb_lse_data_latbook SET latbook_urlParam=REPLACE(latbook_urlParam,'&scope=site','') WHERE db_id=47

  • 相关阅读:
    postgresql 高可用 etcd + patroni 之八 haproxy + keepalived
    postgresql 高可用 etcd + patroni 之七 haproxy
    postgresql 索引之 gin
    postgresql 索引之 btree
    postgresql 物理备份 barman 之 rsync/ssh backup
    postgresql 物理备份 barman 之 streaming backup
    postgresql 物理备份 barman 之 安装
    postgresql 的 .pgpass密码文件的使用
    postgresql 的 pg_hba.conf 的行记录顺序
    ubuntu 16.04 进入单用户模式
  • 原文地址:https://www.cnblogs.com/kuangwong/p/9299134.html
Copyright © 2011-2022 走看看