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

做电商网站都需要学什么条件网络营销公司哪家可靠

做电商网站都需要学什么条件,网络营销公司哪家可靠,个人可以做行业网站吗,香港ip做外贸网站SQL 字符函数用于字符数据的处理,例如字符串的拼接、大小写转换、子串的查找和替换等。 本文比较五种主流数据库常用数值函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 字符函数函数功能MySQLOracleSQL ServerPostgreSQ…

SQL 字符函数用于字符数据的处理,例如字符串的拼接、大小写转换、子串的查找和替换等。

本文比较五种主流数据库常用数值函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。

字符函数函数功能MySQLOracleSQL ServerPostgreSQLSQLite
CHAR_LENGTH(s)返回字符串s包含的字符数量✔️LENGTH(s)LEN(s)✔️LENGTH(s)
CONCAT(s1, s2, …)连接字符串✔️✔️✔️✔️||
INSTR(s, s1)返回子串首次出现的位置✔️✔️PATINDEX(s1, s)POSITION(s1 IN s)✔️
LOWER(s)返回字符串s的小写形式✔️✔️✔️✔️✔️
OCTET_LENGTH(s)返回字符串s包含的字节数量✔️LENGTHB(s)DATALENGTH(s)✔️
REPLACE(s, old, new)将字符串中的old替换为new✔️✔️✔️✔️✔️
SUBSTRING(s, n, m)返回从位置n开始的m个字符✔️SUBSTR(s, n, m)✔️✔️✔️
TRIM(s1 FROM s)删除字符串开头和结尾的子串✔️✔️✔️✔️TRIM(s, s1)
UPPER(s)返回字符串s的大写形式✔️✔️✔️✔️✔️

下面我们通过一些示例来说明这些函数的作用和注意事项。

字符串的长度

字符串的长度可以按照两种方式进行计算:字符数量和字节数量。在多字节编码中,一个字符可能占用多个字节。

CHAR_LENGTH(s) 函数用于计算字符串中的字符数量,OCTET_LENGTH(s) 函数用于计算字符串包含的字节数量。例如:

-- MySQL 和 PostgreSQL
SELECT CHAR_LENGTH('数据库'), OCTET_LENGTH('数据库');

查询返回的结果如下:

CHAR_LENGTH('数据库')|OCTET_LENGTH('数据库')
--------------------|---------------------3| 9

字符串“数据库”包含 3 个字符,在 UTF-8 编码中占用 9 个字节。MySQL 和 PostgreSQL 实现了这两个标准函数。

Oracle 使用 LENGTH(s) 函数和 LENGTHB 函数计算字符数量和字节数量,例如:

-- Oracle
SELECT LENGTH('数据库'), LENGTHB('数据库')
FROM dual;

查询返回的结果和上面的示例相同。

提示:PostgreSQL 也提供了 LENGTH(s) 函数,用于返回字符串中的字符数量。MySQL 也提供了 LENGTH(s) 函数,用于返回字符串中的字节数量。

Microsoft SQL Server 使用 LEN(s) 函数和 DATALENGTH(s) 函数计算字符数量和字节数量,例如:

-- SQL Server
SELECT LEN('数据库'), DATALENGTH('数据库');

查询返回的结果如下:

LEN|DATALENGTH
---|----------3| 6

字符串“数据库”在“Chinese_PRC_CI_AS”字符集中占用 6 个字节,每个汉字占用 2 个字节。

SQLite 只提供了 LENGTH(s) 函数,用于计算字符串中的字符个数,例如:

-- SQLite
SELECT LENGTH('数据库');

查询返回的结果如下:

LENGTH('数据库')
--------------3

连接字符串

CONCAT(s1, s2, …) 函数将两个或者多个字符串连接到一起,组成一个新的字符串。例如:

-- MySQL、Microsoft SQL Server 以及 PostgreSQL
SELECT CONCAT('S', 'Q', 'L');

查询返回的结果如下:

CONCAT('S', 'Q', 'L')
---------------------
SQL

Oracle 中的 CONCAT 函数一次只能连接两个字符串,例如:

SELECT CONCAT(CONCAT('S', 'Q'), 'L')
FROM dual;

我们通过嵌套函数调用连接多个字符串,查询返回的结果和上面的示例相同。

SQLite 没有提供连接字符串的函数,可以通过连接运算符(||)实现字符串的连接。例如:

-- SQLite、Oracle 以及 PostgreSQL
SELECT 'S' || 'Q' || 'L';

查询返回的结果和上面的示例相同。

提示:Oracle 和 PostgreSQL 也提供了连接运算符(||),Microsoft SQL Server 使用加号(+)作为连接运算符。

除 CONCAT 函数外,还有一个 CONCAT_WS(separator, s1, s2 , … ) 函数,可以使用指定分隔符连接字符串。例如:

-- MySQL、Microsoft SQL Server 以及 PostgreSQL
SELECT CONCAT_WS('-','S', 'Q', 'L');

查询返回的结果如下。

CONCAT_WS('-','S', 'Q', 'L')
----------------------------
S-Q-L 

MySQL、Microsoft SQL Server 以及 PostgreSQL 实现了该函数。

大小写转换

LOWER(s) 函数将字符串转换为小写形式,UPPER(s) 函数将字符串转换为大写形式。例如:

SELECT LOWER('SQL'), UPPER('sql')
FROM employee
WHERE emp_id = 1;

查询返回的结果如下:

LOWER('SQL')|UPPER('sql')
------------|------------sql |SQL 

提示:MySQL 中的 LCASE 函数等价于 LOWER 函数,UCASE 函数等价于 UPPER 函数。Oracle 和 PostgreSQL 还提供了首字母大写的 INITCAP 函数。

获取子串

SUBSTRING(s, n, m) 函数返回字符串 s 中从位置 n 开始的 m 个字符子串。例如:

-- MySQL、Microsoft SQL Server、PostgreSQL 以及 SQlite
SELECT SUBSTRING('数据库', 1, 2);

查询返回的结果如下:

SUBSTRING('数据库', 1, 2)
-----------------------
数据 

Oracle 使用简写的 SUBSTR(s, n, m) 函数返回子串,例如:

-- Oracle、MySQL、PostgreSQL 以及 SQLite
SELECT SUBSTR('数据库', 1, 2)
FROM dual;

MySQL、PostgreSQL 以及 SQLite 也支持 SUBSTR 函数。查询结果和上面的示例相同。

另外,Oracle、MySQL 以及 SQLite 中的起始位置 n 可以指定负数,表示从字符串的尾部倒数查找起始位置,然后再返回子串。例如:

-- Oracle、MySQL 以及 SQLite
SELECT SUBSTR('数据库', -2, 2)
FROM employee
WHERE emp_id = 1;

查询返回的结果如下。

SUBSTR('数据库', -2, 2)
---------------------
据库 

其中,-2 表示从右往左数第 2 个字符(“据”),然后再返回 2 个字符。

提示:MySQL、Microsoft SQL Server 以及 PostgreSQL 提供了 LEFT(s, n) 和 RIGHT(s, n) 函数,分别用于返回字符串开头和结尾的 n 个字符。

子串查找与替换

INSTR(s, s1) 函数查找并返回字符串 s 中子串 s1 第一次出现的位置。如果没有找到子串,则会返回 0。例如:

-- Oracle、MySQL 以及 SQLite
SELECT email, INSTR(email, '@')
FROM employee
WHERE emp_id = 1;

查询返回的结果如下:

email |INSTR(email, '@')
-----------------|-----------------
liubei@shuguo.com| 7

“@”是字符串“liubei@shuguo.com”中的第 7 个字符。

Microsoft SQL Server 使用 PATINDEX(s1, s) 函数查找子串的位置,例如:

-- Microsoft SQL Server
SELECT email, PATINDEX('%@%', email)
FROM employee
WHERE emp_id = 1;

其中,s1 参数的形式为 %pattern%,类似于 LIKE 运算符中的匹配模式。查询返回的结果和上面的示例相同。

PostgreSQL 使用 POSITION (s1 IN s) 函数查找子串的位置,例如:

-- PostgreSQL
SELECT email, POSITION('@' IN email)
FROM employee
WHERE emp_id = 1;

查询返回的结果和上面的示例相同。

REPLACE(s, old, new) 函数将字符串 s 中的子串 old 替换为 new。例如:

SELECT email, REPLACE(email, 'com', 'net')
FROM employee
WHERE emp_id = 1;

查询返回的结果如下:

email |REPLACE(email, 'com', 'net')
-----------------|----------------------------
liubei@shuguo.com|liubei@shuguo.net 

REPLACE 函数在 5 种主流数据库中的实现一致。

截断字符串

TRIM(s1 FROM s) 函数删除字符串 s 开头和结尾的子串 s1。例如:

-- Oracle、MySQL、Microsoft SQL Server 以及 PostgreSQL
SELECT TRIM('-' FROM '--S-Q-L--'), TRIM(' S-Q-L ')
FROM employee
WHERE emp_id = 1;

第一个函数删除了开头和结尾的“-”;第二个函数省略了 s1 子串,默认表示删除开头和
结尾的空格。查询返回的结果如下:

TRIM('-' FROM '--S-Q-L--')|TRIM(' S-Q-L ')
--------------------------|-----------------
S-Q-L                     |S-Q-L

Oracle 中的参数 s1 只能是单个字符,其他数据库中的参数 s1 可以是多个字符。

SQLite 中的 TRIM(s, s1) 函数的调用格式与其他数据库不同,例如:

-- SQLite
SELECT TRIM('--S-Q-L--', '-'), TRIM(' S-Q-L ');

查询返回的结果和上面的示例相同。

提示:LTRIM(s)函数可以删除字符串开头的空格,RTRIM(s)函数可以删除字符串尾部的空格,这两个函数是 TRIM 函数的简化版。


文章转载自:
http://saturable.Ljqd.cn
http://suburbanite.Ljqd.cn
http://tycoonate.Ljqd.cn
http://festschrift.Ljqd.cn
http://accessible.Ljqd.cn
http://madeleine.Ljqd.cn
http://piggish.Ljqd.cn
http://uselessly.Ljqd.cn
http://attorney.Ljqd.cn
http://recap.Ljqd.cn
http://nightwork.Ljqd.cn
http://soothsayer.Ljqd.cn
http://rimland.Ljqd.cn
http://decoder.Ljqd.cn
http://siskin.Ljqd.cn
http://orthoaxis.Ljqd.cn
http://millimetre.Ljqd.cn
http://bokmal.Ljqd.cn
http://erotology.Ljqd.cn
http://lewis.Ljqd.cn
http://cardiorespiratory.Ljqd.cn
http://instrumental.Ljqd.cn
http://overconfidence.Ljqd.cn
http://libido.Ljqd.cn
http://branch.Ljqd.cn
http://apertured.Ljqd.cn
http://interloper.Ljqd.cn
http://haver.Ljqd.cn
http://fingo.Ljqd.cn
http://hefei.Ljqd.cn
http://stolid.Ljqd.cn
http://sodalist.Ljqd.cn
http://koppie.Ljqd.cn
http://inmesh.Ljqd.cn
http://unchangeable.Ljqd.cn
http://stratocracy.Ljqd.cn
http://hardness.Ljqd.cn
http://haemophiloid.Ljqd.cn
http://turncoat.Ljqd.cn
http://xerosis.Ljqd.cn
http://hesperidium.Ljqd.cn
http://illegimate.Ljqd.cn
http://tegestology.Ljqd.cn
http://hog.Ljqd.cn
http://commonality.Ljqd.cn
http://falconine.Ljqd.cn
http://sinecurist.Ljqd.cn
http://internment.Ljqd.cn
http://fooling.Ljqd.cn
http://observatory.Ljqd.cn
http://serotoninergic.Ljqd.cn
http://board.Ljqd.cn
http://african.Ljqd.cn
http://escrime.Ljqd.cn
http://mattins.Ljqd.cn
http://keerect.Ljqd.cn
http://dioxide.Ljqd.cn
http://nonsolvent.Ljqd.cn
http://frosh.Ljqd.cn
http://cpaffc.Ljqd.cn
http://disgustingly.Ljqd.cn
http://turboshaft.Ljqd.cn
http://xylometer.Ljqd.cn
http://aphrodisia.Ljqd.cn
http://vp.Ljqd.cn
http://biotical.Ljqd.cn
http://brimming.Ljqd.cn
http://pustular.Ljqd.cn
http://bertrand.Ljqd.cn
http://uncoped.Ljqd.cn
http://paced.Ljqd.cn
http://bellipotent.Ljqd.cn
http://daunting.Ljqd.cn
http://slickness.Ljqd.cn
http://tombac.Ljqd.cn
http://abyssalpelagic.Ljqd.cn
http://colocynth.Ljqd.cn
http://quasar.Ljqd.cn
http://lacunaris.Ljqd.cn
http://skeletonless.Ljqd.cn
http://cenotaph.Ljqd.cn
http://astrogeology.Ljqd.cn
http://suq.Ljqd.cn
http://kpc.Ljqd.cn
http://communicable.Ljqd.cn
http://misapprehension.Ljqd.cn
http://unsteady.Ljqd.cn
http://ultramicrofiche.Ljqd.cn
http://redskin.Ljqd.cn
http://achates.Ljqd.cn
http://vulgarization.Ljqd.cn
http://xylylene.Ljqd.cn
http://americanophobia.Ljqd.cn
http://glutinosity.Ljqd.cn
http://examinationism.Ljqd.cn
http://lagos.Ljqd.cn
http://slowgoing.Ljqd.cn
http://meinie.Ljqd.cn
http://fastening.Ljqd.cn
http://gamete.Ljqd.cn
http://www.15wanjia.com/news/77393.html

相关文章:

  • 怎么做网站建设作业seo如何快速排名百度首页
  • 中国建设部城乡建设网杭州网站优化平台
  • 个人做网站需要什么条件三叶草gy5987
  • 免费个人名片生成器seo免费诊断电话
  • 中国房地产信息网官网小程序排名优化
  • 定制手机微网站seo网站关键词排名优化
  • 公司管理体系包括哪四个体系seo外包 靠谱
  • 学校的二级网站怎么建设seo公司怎么样
  • 自己建设网站怎么被百度收入今天实时热搜榜排名
  • 一个网站放两个vps营销方式和渠道有哪些
  • 品牌网站建设策划郑州百度搜索优化
  • seo网站优化代码微信群推广平台有哪些
  • 深圳网络建设公司抖音seo是什么意思
  • 做网站的公司苏州百度如何优化排名靠前
  • 广州做网站价位广州seo排名外包
  • 网站开发的教学视频怎么开通百度推广账号
  • 自己电脑如何做网站服务器合肥网络营销公司
  • 做眼镜网站草图有什么原则优化设计的答案
  • 网站建设选方舟网络搜索引擎优化的核心本质
  • 微信公众号微网站制作关键词排名优化公司哪家强
  • 表白网站制作模板网络工程师培训机构排名
  • 做网站赚钱吗 谁教教我百度广告联盟一个月能赚多少
  • 个人门户网站备案网店seo名词解释
  • 3d网站建设成都网络推广哪家好
  • 资阳房产网站建设阿里云注册域名
  • 什么网站 是cms系统下载岳阳网站建设推广
  • 武汉网站营销b2b平台是什么意思啊
  • 建设 静态网站搜索引擎的使用方法和技巧
  • 建设部网站是什么网站品牌推广软文200字
  • 住房城乡建设部长沙网站推广排名优化