SQL Query返回任何带有第7个字符的计算机是D

use*_*669 0 sql sql-server

这就是我所拥有的,但它正在返回第7个字符不是D的计算机

select * from vComputer where [OS Name] like '%server%' and left(Name, 7) like '%D%'
Run Code Online (Sandbox Code Playgroud)

这是它返回的内容......

CHBDYTPT2K8V3VM
CHBDYSPRMSAPP01
CHBDYSPPAMAPP05
CHBDYSPLNCWEB02
CHBDYSTMSSWEB02
CHBDYSRQPMDBS01
SDFAX01
OLDCOMSOPPRODDB
CHBDYSPEXTADC99
CHBDYSPVRXMAS01
CAPADBDEV1
CHBDYSTODMAPP98
CHBDYSPMSVWEB04
CHBDYSPPAMWEB01
USSUMSDOBICTX01
USSUMSDVRADBS03
Run Code Online (Sandbox Code Playgroud)

Tab*_*man 5

你正在做的是获取前7个字符(left(Name, 7))并检查是否有任何这些字符是"d"(like '%D%').

要仅检查第7个字符,SUBSTRING是一个很棒的工具:

SUBSTRING([Name],7,1)='D'
Run Code Online (Sandbox Code Playgroud)