SEO整站优化

查看: 780|回复: 0

MySQL不能没有字符串函数,就像西方不能失去耶路撒冷

[复制链接]

151

主题

151

帖子

463

积分

中级会员

Rank: 3Rank: 3

积分
463
 楼主| 发表于 2021-8-2 20:55:05| 字数 8,978 | 显示全部楼层 |阅读模式
MySQL不克不及出有字符串函数,便像西圆不克不及落空耶路洒热整站劣化,
MySQL不克不及出有字符串函数,便像西圆不克不及落空耶路洒热-1.jpg
: ^& E7 r* a: K2 l3 E- g# d# H

. L( h0 v( l7 X+ O3 h) DMySQL是一个干系型数据库治理体系,由瑞典MySQL AB 公司开辟,现在属于 Oracle 旗下产物。MySQL 最盛行的干系型数据库治理体系,正在 WEB 使用圆里MySQL是最好的 RDBMS (Relational Database Management System,干系数据库治理体系) 使用硬件之一。( [7 r# e2 D+ \1 X; A& F
7 s6 K9 G% l, \, Z+ |# c$ D  t/ Y7 q

0 s8 W1 N1 g7 iMySQL所利用的 SQL 言语是用于会见数据库的最经常使用尺度化言语。MySQL 硬件接纳了单受权政策,它分为社区版战贸易版,因为其体积小、速率快、整体具有本钱低,特别是开放源码那一特性,一样平常中小型网站的开辟皆挑选 MySQL 做为网站数据库。 因为其社区版的机能杰出,拆配 PHP 战 Apache 可构成优秀的开辟情况。; X4 w, b7 g1 @* N- x6 q2 U
字符串是MySQL是最经常使用的的一种函数,正在一个详细使用中凡是会综开几个以至几类函数去完成响应的使用:

1 K" q  H6 Z( x4 G9 w+ j5 f! h4 |9 G+ j- ~  F
MySQL不克不及出有字符串函数,便像西圆不克不及落空耶路洒热-2.jpg

) {0 C# V  P7 N, ^% W) H
1、LOWER(column|str):将字符串参数值转换为齐小写字母后返回
- Y/ z( a2 m+ a3 i* J5 `8 K. z% @
mysql> select lower('SQL Course');+---------------------+| lower('SQL Course') |+---------------------+| sql course          |+---------------------+
2、UPPER(column|str):将字符串参数值转换为齐年夜写字母后返回

, f( C# ^5 x( S. ~1 p$ U3 gmysql> select upper('Use MYsql');+--------------------+| upper('Use MYsql') |+--------------------+| USE MYSQL          |+--------------------+
3、CONCAT(column|str1, column|str2,...):将多个字符串参数尾尾相连后返回

( P3 H' L1 Z' H* y0 d. umysql> select concat('My','S','QL');+-----------------------+| concat('My','S','QL') |+-----------------------+| MySQL                 |+-----------------------+
若是有任何参数为null,则函数返回null

' ~3 Y2 c# ?& t. A9 W! f# xmysql> select concat('My',null,'QL');+------------------------+| concat('My',null,'QL') |+------------------------+| NULL                   |+------------------------+
若是参数是数字,则主动转换为字符串
9 L! G& w: f3 \4 r% F+ I7 _
mysql> select concat(14.3,'mysql');+----------------------+| concat(14.3,'mysql') |+----------------------+| 14.3mysql            |+----------------------+
4、CONCAT_WS(separator,str1,str2,...):将多个字符串参数以给定的分开符separator尾尾相连后返回
7 u0 I3 T2 B! _; j
mysql> select concat_ws(';','First name','Second name','Last name');+-------------------------------------------------------+| concat_ws(';','First name','Second name','Last name') |+-------------------------------------------------------+| First name;Second name;Last name                      |+-------------------------------------------------------+
!!也便是函数圆括号里的第一个项目用去指定分开符

) ^/ F2 A+ q. N) s' D- C
注重:若是有任何参数为null,则函数没有返回null,而是间接疏忽它

. b5 h6 l$ ?3 g: ?2 c$ i# Wmysql> select concat_ws(',','id',null,'name');+---------------------------------+| concat_ws(',','id',null,'name') |+---------------------------------+| id,name                         |+---------------------------------+
翻开战封闭管讲标记“|”的毗连功效

  F. G, W9 ]0 R
  PIPES_AS_CONCAT:将“||”视为字符串的毗连操纵符而非或运算符
/ O& W2 }7 Z8 ^7 D( ?! |$ |
  || 管讲毗连符:

/ h6 a% W% D: v, o" s3 A0 T
根本花样:

, |5 Z3 J7 c0 M& @9 }  V
  mysql> select 列名1 || 列名2 || 列名3 from 表名;
  i1 B$ Q; W- I  ~, T5 ^8 l
正在mysql中,举行上式毗连查询以后,会将查询效果散正在一列中显现(字符勾通接),列名是‘列名1 || 列名2 || 列名3’
. A4 ?/ ^( y  l, I* s! i3 N: F
mysql> select s_no || s_name || s_age    -> from student;+-------------------------+| s_no || s_name || s_age |+-------------------------+| 1001张三23              || 1002李四19              || 1003马五20              || 1004甲六17              || 1005乙七22              |+-------------------------+
注重:
$ [" M3 G2 B" e3 y* T' O9 V: d" @
  ①若是没有显现效果,是由于sql_mode参数中出有PIPES_AS_CONCAT,只需给sql_mode参数参加PIPES_AS_CONCAT,就能够完成像CONCAT一样的功效;
2 ~! T0 y  y3 R
  ②若是没有给sql_mode参数参加PIPES_AS_CONCAT的话,|| 默许是or的意义,查询效果是一列显现是1

/ }$ ?2 t+ l# V8 q+ w% U, W: M0 o( N
; X9 x" M7 B& z; T! n- B: o
# i* }) E. i+ c5 ~
5、SUBSTR(str,pos[,len]):从源字符串str中的指定地位pos最先与一个字串并返回
8 [4 w8 v+ \* t! e1 L0 G1 F
注重:
, U9 c6 ~2 s+ d4 z8 N
  ①len指定子串的少度,若是省略则不断与到字符串的开端;len为背值表现从源字符串的尾部最先与起。

  \: W, B: \* \8 y' I# b
  ②函数SUBSTR()是函数SUBSTRING()的同义词。

, C5 |. v2 C. ~( v& }6 bmysql> select substring('hello world',5);+----------------------------+| substring('hello world',5) |+----------------------------+| o world                    |+----------------------------+mysql> select substr('hello world',5,3);+---------------------------+| substr('hello world',5,3) |+---------------------------+| o w                       |+---------------------------+mysql> select substr('hello world',-5);+--------------------------+| substr('hello world',-5) |+--------------------------+| world                    |+--------------------------+
6、LENGTH(str):返回字符串的存储少度

+ ]* a+ n" h3 x; L4 O4 Emysql> select length('text'),length('您好');+----------------+------------------+| length('text') | length('您好')   |+----------------+------------------+|              4 |                6 |+----------------+------------------+
注重:编码方法差别字符串的存储少度便纷歧样(‘您好’:utf8是6,gbk是4)
4 r3 D" N9 M/ A/ Z9 O* V

! n5 |# V" N% n% [% C) y2 s

4 _$ r, `' j4 e/ P0 B, C" u- i
7、CHAR_LENGTH(str):返回字符串中的字符个数
6 }$ B: N; x6 M
mysql> select char_length('text'),char_length('您好');+---------------------+-----------------------+| char_length('text') | char_length('您好')   |+---------------------+-----------------------+|                   4 |                     2 |+---------------------+-----------------------+
8、INSTR(str, substr):从源字符串str中返回子串substr第一次泛起的地位

: y( R# c  R2 ]9 a; j) Q! \$ ]mysql> select instr('foobarbar','bar');+--------------------------+| instr('foobarbar','bar') |+--------------------------+|                        4 |+--------------------------+
9、LPAD(str, len, padstr):正在源字符串的右边添补给定的字符padstr到指定的少度len,返回添补后的字符串

4 ?" r# U0 ?1 R; J; `mysql> select lpad('hi',5,'??');+-------------------+| lpad('hi',5,'??') |+-------------------+| ???hi             |+-------------------+
10、RPAD(str, len, padstr):正在源字符串的右侧添补给定的字符padstr到指定的少度len,返回添补后的字符串
. h0 v1 G: O. {8 C3 x! ]% w
mysql> select rpad('hi',6,'??');+-------------------+| rpad('hi',6,'??') |+-------------------+| hi????            |+-------------------+
11、TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str), TRIM([remstr FROM] str):

1 m1 Y3 @3 J; L4 H% J+ _4 y4 U
从源字符串str中来失落两头、前缀或后缀字符remstr并返回;

' A9 e9 B& W+ c: E% N! x  W
  若是没有指定remstr,则来失落str两头的空格;

$ J# [+ _% I7 s* l5 {
  没有指定BOTH、LEADING、TRAILING ,则默许为 BOTH。
" Q( K1 M2 h3 V6 j
mysql> select trim('  bar  ');+-----------------+| trim('  bar  ') |+-----------------+| bar             |+-----------------+mysql> select trim(leading 'x' from 'xxxbarxxx');+------------------------------------+| trim(leading 'x' from 'xxxbarxxx') |+------------------------------------+| barxxx                             |+------------------------------------+mysql> select trim(both 'x' from 'xxxbarxxx');+---------------------------------+| trim(both 'x' from 'xxxbarxxx') |+---------------------------------+| bar                             |+---------------------------------+mysql> select trim(trailing 'xyz' from 'barxxyz');+-------------------------------------+| trim(trailing 'xyz' from 'barxxyz') |+-------------------------------------+| barx                                |+-------------------------------------+
12、REPLACE(str, from_str, to_str):正在源字符串str中查找一切的子串form_str(巨细写敏感),找到后利用替换字符串to_str交换它。返回交换后的字符串

) a5 D% k" j1 qmysql> select replace('www.mysql.com','w','Ww');+-----------------------------------+| replace('www.mysql.com','w','Ww') |+-----------------------------------+| WwWwWw.mysql.com                  |+-----------------------------------+
13、LTRIM(str),RTRIM(str):来失落字符串的右边或右侧的空格(左对齐、左对齐)
6 a5 \* F  A$ ]- \( L
mysql> SELECT  ltrim('   barbar   ') rs1, rtrim('   barbar   ') rs2;+-----------+-----------+| rs1       | rs2       |+-----------+-----------+| barbar    |    barbar |+-----------+-----------+
14、REPEAT(str, count):将字符串str反复count次后返回

/ D0 h% b7 ?$ L- x" {! gmysql> select repeat('MySQL',3);+-------------------+| repeat('MySQL',3) |+-------------------+| MySQLMySQLMySQL   |+-------------------+
15、REVERSE(str):将字符串str反转后返回

! q' {$ \8 [( X. }  ?mysql> select reverse('abcdef');+-------------------+| reverse('abcdef') |+-------------------+| fedcba            |+-------------------+
16、CHAR(N,... [USING charset_name]):将每一个参数N诠释为整数(字符的编码),并返回每一个整数对应的字符所组成的字符串(NULL值被疏忽)。

" h! e* ?) S2 [  l, dmysql> select char(77,121,83,81,'76'),char(77,77.3,'77.3');+-------------------------+----------------------+| char(77,121,83,81,'76') | char(77,77.3,'77.3') |+-------------------------+----------------------+| MySQL                   | MMM                  |+-------------------------+----------------------+
默许情形下,函数返回两进造字符串,若念返回针对特定字符散的字符串,利用using选项
+ M1 Y5 ~: q8 w7 @
mysql> SELECT charset(char(0x65)), charset(char(0x65 USING utf8));+---------------------+--------------------------------+| charset(char(0x65)) | charset(char(0x65 USING utf8)) |+---------------------+--------------------------------+| binary              | utf8                           |+---------------------+--------------------------------+
17、FORMAT(X,D[,locale]):以花样‘#,###,###.##’花样化数字X
! U/ Y; y: {% G& w$ m
  D指定小数位数

9 U* {2 G( Q6 u7 D9 h+ M" B
  locale指定国度言语(默许的locale为en_US)
- Z7 u9 v( }9 p9 a  Z& s8 N& L
mysql> SELECT format(12332.123456, 4),format(12332.2,0);+-------------------------+-------------------+| format(12332.123456, 4) | format(12332.2,0) |+-------------------------+-------------------+| 12,332.1235             | 12,332            |+-------------------------+-------------------+mysql> SELECT format(12332.2,2,'de_DE');+---------------------------+| format(12332.2,2,'de_DE') |+---------------------------+| 12.332,20                 |+---------------------------+
18、SPACE(N):返回由N个空格组成的字符串
' o' z) v( L9 E* K* t
mysql> select space(3);+----------+| space(3) |+----------+|          |+----------+
19、LEFT(str, len):返回最右边的len少度的子串

# A4 o1 o8 P' w% ]* p8 t* jmysql> select left('chinaitsoft',5);+-----------------------+| left('chinaitsoft',5) |+-----------------------+| china                 |+-----------------------+
20、RIGHT(str, len):返回最右侧的len少度的子串
* R6 q8 w; i( i2 J+ w
mysql> select right('chinaitsoft',5);+------------------------+| right('chinaitsoft',5) |+------------------------+| tsoft                  |+------------------------+
21、STRCMP(expr1,expr2):若是两个字符串是一样的则返回0;若是第一个小于第两个则返回-1;不然返回1
; b, I, D6 N; d1 g- n$ Z' }# ^
mysql> select strcmp('text','text');+-----------------------+| strcmp('text','text') |+-----------------------+|                     0 |+-----------------------+mysql> SELECT strcmp('text', 'text2'),strcmp('text2', 'text');+-------------------------+-------------------------+| strcmp('text', 'text2') | strcmp('text2', 'text') |+-------------------------+-------------------------+|                      -1 |                       1 |+-------------------------+-------------------------+<hr>那篇文章便先写到那里吧,收拾整顿了一些闭于MySQL的进修册本PDF,究竟法式员的书很贵,另有我本人的一些进修条记皆正在那里了, k% _/ N7 {# T2 A' e$ `

; y  b. ~9 G9 E: z; b
MySQL不克不及出有字符串函数,便像西圆不克不及落空耶路洒热-3.jpg

. ^" k$ Z! L  X& F  ~1 d转收本文+存眷+【802】就能够利剑嫖了!3 U$ w3 q! _) ^4 I/ w3 M
# W! _- Y2 ?# J/ ^: p# z2 |" e$ |
本文链接:法式员北游|存眷整站劣化网 进修更多seo相干要领...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • QQ|Archiver|手机版|小黑屋|SEO整站优化 — 外包整站SEO优化,万维网【SEO外包】整站优化网 ( 粤ICP备19158344号 ) |

    GMT+8, 2022-7-7 11:59 , Processed in 0.115967 second(s), 16 queries , Gzip On, Redis On.

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表