Sql server 2008 如何从列';s值并使其小写,然后将其与传递的参数进行比较?
假设我将这个参数值“aboutme”传递给我的存储过程。在我的表“PagesTable”中有一个名为“PageName”的列,其中包含“关于我”、“关于公司”等值。现在,我想要的是将传递的参数(关于ie)与这些列值进行比较。因此,我需要首先将列值转换为小写,并删除其间的空格,然后才能进行比较 有人请告诉我如何在MSSQL中实现这一点?任何帮助都将不胜感激。谢谢:) 用于与值进行比较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
WHERE LOWER( REPLACE( ColumnName, ' ', '' ) ) = @val
转换列值意味着不能使用索引。如果这是一个频繁的搜索,并且表变大,则可能会影响性能。如果可能的话,您可能需要研究向表中添加一个计算列,并为其编制索引。
WHERE LOWER( REPLACE( ColumnName, ' ', '' ) ) = @val