Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字符串内的SQL查询搜索_Sql_Sql Server - Fatal编程技术网

字符串内的SQL查询搜索

字符串内的SQL查询搜索,sql,sql-server,Sql,Sql Server,我的数据库中有一列数据,其中有一个项目编号,编号的格式如下:YYYYnnnn.ee(例如20140124.00)。由于数字有三个不同的部分,用户可以按YYYY或nnnn进行搜索。我编写了一个按YYYY搜索的查询。我需要为nnnn编写一个查询 如何编写查询来搜索另一个字符串的特定位置中的特定字符串?您可以使用SUBSTRING 子字符串的第一个参数应该是ColumnName,下一个参数是起始字符的索引,最后一个参数是字符数 下面的示例将从列中返回nnnn部分。在下面的示例中,我们正在搜索nnnn等

我的数据库中有一列数据,其中有一个项目编号,编号的格式如下:YYYYnnnn.ee(例如20140124.00)。由于数字有三个不同的部分,用户可以按YYYY或nnnn进行搜索。我编写了一个按YYYY搜索的查询。我需要为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')

您应该将其拆分为单独的列。