Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 server 2008 如何从列';s值并使其小写,然后将其与传递的参数进行比较?_Sql Server 2008_Stored Procedures_String - Fatal编程技术网

Sql server 2008 如何从列';s值并使其小写,然后将其与传递的参数进行比较?

Sql server 2008 如何从列';s值并使其小写,然后将其与传递的参数进行比较?,sql-server-2008,stored-procedures,string,Sql Server 2008,Stored Procedures,String,假设我将这个参数值“aboutme”传递给我的存储过程。在我的表“PagesTable”中有一个名为“PageName”的列,其中包含“关于我”、“关于公司”等值。现在,我想要的是将传递的参数(关于ie)与这些列值进行比较。因此,我需要首先将列值转换为小写,并删除其间的空格,然后才能进行比较 有人请告诉我如何在MSSQL中实现这一点?任何帮助都将不胜感激。谢谢:) 用于与值进行比较 WHERE LOWER( REPLACE( ColumnName, ' ', '' ) ) = @val

假设我将这个参数值“aboutme”传递给我的存储过程。在我的表“PagesTable”中有一个名为“PageName”的列,其中包含“关于我”、“关于公司”等值。现在,我想要的是将传递的参数(关于ie)与这些列值进行比较。因此,我需要首先将列值转换为小写,并删除其间的空格,然后才能进行比较

有人请告诉我如何在MSSQL中实现这一点?任何帮助都将不胜感激。谢谢:)

用于与值进行比较

    WHERE LOWER( REPLACE( ColumnName, ' ', '' ) ) = @val

转换列值意味着不能使用索引。如果这是一个频繁的搜索,并且表变大,则可能会影响性能。如果可能的话,您可能需要研究向表中添加一个计算列,并为其编制索引。
    WHERE LOWER( REPLACE( ColumnName, ' ', '' ) ) = @val