提取部分列的SQL查询

标签 sql

我有一个如下查询,它从描述包含“合法:”的表中选择描述

目前它提取描述字段中的所有内容。我想做的只是从“legal:”关键字中提取 50 个字符。

SELECT Description
FROM Issues
WHERE
Description like '%legal:%'

感谢任何帮助。

最佳答案

MySQL

SELECT SUBSTRING(SUBSTRING_INDEX(Description, 'legal:', -1), 1, 50)
FROM Issues
WHERE Description LIKE '%legal:%'

See a demo

SQL服务器

SELECT SUBSTRING(Description, CHARINDEX('legal:', Description) + 6, CHARINDEX('legal:', Description) + 56)
FROM Issues
WHERE Description LIKE '%legal:%'
  AND CHARINDEX('legal:', Description) > 0

See a demo

关于提取部分列的SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18616342/

相关文章:

sql - Apache Drill 对现有 Hadoop 集群中的其他 Hadoop 生态系统成员有什么负面影响吗?

c++ - 无法弄清楚为什么我的 IF 语句在使用 C++ 的 SQL 中被跳过

java - 使用squiggle-sql 构建带有OR 子句的动态sql

mysql - 如何编写触发器来更新另一个表中的属性

SQL Server SELECT @VARIABLE = TOP 1

mysql - SQL 选择并连接所有行的值

sql - 查找与多个州相关联的邮政编码

Mysql从特定ID/行批量更新到ID/行

mysql - 使用 NOT IN 子查询绕过 MySql 错误 1093

java - 如果插入/更新时字符串太长,则自动修剪字符串