字符串内的SQL查询搜索
我的数据库中有一列数据,其中有一个项目编号,编号的格式如下:YYYYnnnn.ee(例如20140124.00)。由于数字有三个不同的部分,用户可以按YYYY或nnnn进行搜索。我编写了一个按YYYY搜索的查询。我需要为nnnn编写一个查询字符串内的SQL查询搜索,sql,sql-server,Sql,Sql Server,我的数据库中有一列数据,其中有一个项目编号,编号的格式如下:YYYYnnnn.ee(例如20140124.00)。由于数字有三个不同的部分,用户可以按YYYY或nnnn进行搜索。我编写了一个按YYYY搜索的查询。我需要为nnnn编写一个查询 如何编写查询来搜索另一个字符串的特定位置中的特定字符串?您可以使用SUBSTRING 子字符串的第一个参数应该是ColumnName,下一个参数是起始字符的索引,最后一个参数是字符数 下面的示例将从列中返回nnnn部分。在下面的示例中,我们正在搜索nnnn等
如何编写查询来搜索另一个字符串的特定位置中的特定字符串?您可以使用SUBSTRING 子字符串的第一个参数应该是ColumnName,下一个参数是起始字符的索引,最后一个参数是字符数 下面的示例将从列中返回nnnn部分。在下面的示例中,我们正在搜索nnnn等于1234的记录
SELECT *
FROM tablename
WHERE
(SUBSTRING(columnName, 5, 4) = '1234')
请注意,如果您的列是数字(十进制)。首先需要将其转换为varchar(字符串)。例如:
SELECT *
FROM tablename
WHERE
(SUBSTRING(CAST(columnName AS VARCHAR(20)), 5, 4) = '1234')
您应该将其拆分为单独的列。