我在Powershell中的SQL查询中的like语句未产生预期的结果。我的“喜欢”声明被当作“ =”符号对待。
例如
我有一个具有以下值的表:
FieldNames
1. George Bush;George Foreman;Mary jones;
2. George Foreman;
3. George Foreman; Michael Smith;
4. Mary Jones;George Foreman
变量:
$Expression = "George Foreman"
我尝试过的三个选项:
1。
Select FieldNames from table where FieldNames like '%$Expression%'
2。
Select FieldNames from table where FieldNames like '%$($Expression)%'
3。
Select FieldNames from table where FieldNames like '%George Foreman%'
我对所有三个选项都收到相同的结果(仅返回第2行)。我希望所有行都能返回。
我可以在SSMS中运行相同的查询,并且所有行都会返回。
有人遇到过这个问题吗?或者对我如何修改选择查询以使用“喜欢”获取所有行有任何建议?
Formatted Powershell expression:
#Variables:
$Expression = "George Foreman"
$UserName = "UserName"
$password = "Password"
$Database = "Database"
$Server = "Server"
$Query="Select FieldNames from table where FieldNames like '%$Expression%' "
$ConnectionString = "Server=$Server ;User ID=$UserName; password=$password;
Integrated Security=True; database=$Database;"
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connection
$connection.Open()
$command = $connection.CreateCommand()
$command.CommandText = $Query
$result = $command.ExecuteReader()
$connection.Close()