读取列值的一部分

时间:2013-10-11 13:47:15

标签: sql sql-server-2012

我有以下SQL Server 2012表:

create table dbo.Packs {
  Id int identity not null,
  Info nvarchar (200) not null
}

如何获取Info以“File”开头的所有行...我可能有:

"File #200 View", "File #100 Delete", "Stat F#20"

所以我会得到前两个记录。

谢谢你, 米格尔

4 个答案:

答案 0 :(得分:5)

您可以将LIKE operator与%通配符一起使用:

SELECT [Id], [Info]
FROM [dbo].[Packs]
WHERE [Info] LIKE 'File%'

实施例

CREATE TABLE packs ([Info] varchar(16));

INSERT INTO packs ([Info])
VALUES ('File #200 View'), ('File #100 Delete'), ('Stat F#20');

SELECT [Info] FROM [packs] WHERE [Info] LIKE 'File%';

返回

|             INFO |
|------------------|
|   File #200 View |
| File #100 Delete |

See a demo

答案 1 :(得分:1)

SELECT Id,
       Info 
FROM Packs 
WHERE Info LIKE 'File%'

答案 2 :(得分:1)

LIKE与通配符一起使用:

SELECT * FROM dbo.Packs WHERE Info LIKE 'File%'

上面的链接提供了可用的通配符;你想在File部分之后匹配任何字符串,包括零字符,这样你就需要%通配符。

答案 3 :(得分:0)

SELECT * FROM [dbo].[Packs] WHERE [Info] LIKE 'File%'

应该做的伎俩:)