Mysql 如何选择空格前的字符串值的一部分
我有一个包含字符串值的字段,但字符串中有空格。此值表示字段值的示例:Mysql 如何选择空格前的字符串值的一部分,mysql,database,mysql-workbench,Mysql,Database,Mysql Workbench,我有一个包含字符串值的字段,但字符串中有空格。此值表示字段值的示例: XXXX-XXX-111111-2222-33 SSS x=AAAA Au=AAAA QQQ=AAA(222) SS=AAAA 如何查询此字段中第一个空格之前的零件?在我们的例子中: XXXX-XXX-111111-2222-33 因此,如果字段名f和表t,我将查询: SELECT f from t; 如何查询空格前的字符串部分 注意: 这些空间可以是一个或多个空间。请考虑这一点。 < p>可以使用子字符串()
XXXX-XXX-111111-2222-33 SSS x=AAAA Au=AAAA QQQ=AAA(222) SS=AAAA
如何查询此字段中第一个空格之前的零件?在我们的例子中:
XXXX-XXX-111111-2222-33
因此,如果字段名f
和表t
,我将查询:
SELECT f from t;
如何查询空格前的字符串部分
注意:
这些空间可以是一个或多个空间。请考虑这一点。 < p>可以使用<代码>子字符串()/<代码>和<代码>位置()/代码>来执行,<代码>位置()/代码>用于查找第一个空白空间的索引,而<代码>子串()/<代码>用于查找所需的子字符串。
SELECT SUBSTRING('ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD',1,
POSITION(' ' IN 'ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD')) AS result;
输出:
ECDHE-RSA-AES128-GCM-SHA256
更具可读性的方式:
SET @str='ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD';
SELECT SUBSTR(@str,1,POSITION(' ' IN @str)) AS result;
您可以使用
SUBSTRING()
和POSITION()
来执行此操作,POSITION()
用于查找第一个空白的索引,SUBSTRING()
用于查找所需的子字符串
SELECT SUBSTRING('ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD',1,
POSITION(' ' IN 'ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD')) AS result;
输出:
ECDHE-RSA-AES128-GCM-SHA256
更具可读性的方式:
SET @str='ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD';
SELECT SUBSTR(@str,1,POSITION(' ' IN @str)) AS result;
尝试:
选择子字符串索引(`f`,空格(1),1)
从't';
请参阅。尝试:
选择子字符串索引(`f`,空格(1),1)
从't';
看