2017-05-03 52 views
0

我目前正在使用SQL查询的c#程序。我是SQL新手,希望在某个问题上有所帮助。来自SQL的特定字符串

是否可以查询字符串中的特定位置?

例如, SELECT ID FROM姓名WHERE名字[0] =“J”和姓氏=“Doe”

如果有什么不清楚的地方,请让我知道,任何帮助表示感谢,谢谢。

回答

1

是的,你可以,而像这样的

SELECT ID 
FROM Names 
WHERE Firstname LIKE 'J%' AND Lastname = 'Doe'; 

注:

  • 在SQL中,字符串应该用单引号分隔。
  • LIKE操作有一个模式。该模式表示第一个字符是J; %是匹配0个或多个字符的通配符。
  • 数据库通常不具有跨数据库兼容的内置数组类型。此外,没有数据库(据我所知),将字符串视为字符数组。这些概念对于SQL来说有些陌生(尽管有些数据库支持数组)。
+0

“* SQL没有内置数组类型*” - 事实并非如此。 SQL标准**确实**定义了它们的数组和操作。 –

+0

@a_horse_with_no_name,该语句是特定于产品的。不认为ANSI SQL标准确实定义了数组 – Rahul

+0

@Rahul:SQL标准**不定义数组。 –

1

您可以在WHERE条款中使用LIKE

例如: -

SELECT ID FROM Names WHERE Firstname LIKE "J%" AND Lastname = "Doe" 
0

您可以使用关键字 '喜欢',例如:WHERE名称LIKE '百分比',它会返回开始字符 'a' 的所有名称。就像明智的'%a'一样,它会返回所有以'a'结尾的名字。