【问题标题】:SQL query to find if values in a column contain specific substring in specific position in a stringSQL查询以查找列中的值是否包含字符串中特定位置的特定子字符串
【发布时间】:2021-05-19 15:28:51
【问题描述】:

我正在尝试编写一个查询来从列中选择所有值,这些值包含字符串中特定位置的特定子字符串

示例:假设我有一列包含电话号码(全部包含 10 个字符)。

我需要从位置 6、7、8 中有字符串“433”的列中选择所有电话号码。该列的数据类型为CLOB

【问题讨论】:

  • Why should I "tag my RDBMS"? - 请添加标签以指定您使用的是 mysqlpostgresqlsql-serveroracle 还是 db2 - 或其他完全不同的东西。数据类型 CLOB 不是任何 RDBMS 都支持的“常规”SQL 数据类型 ....

标签: sql


【解决方案1】:

这是一种使用子字符串的方法。请注意,这是针对 SQL Server 的。

DECLARE @temp TABLE
(
    ID INT IDENTITY(1,1),
    PhoneNumber NVARCHAR(10)
)

INSERT INTO @temp (PhoneNumber) VALUES
('8004331234'),
('8001313143'),
('8004334321'),
('8004343334')

SELECT * FROM @temp
WHERE SUBSTRING(PhoneNumber,4,3) = '433'

这会检查字符串“433”的位置 4、5 和 6。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-25
    • 2014-01-29
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-19
    相关资源
    最近更新 更多