Sql server 在sqlserver中使用UPPER函数进行索引
我正在尝试使用SQL Server中的以下查询使用liquibase创建索引Sql server 在sqlserver中使用UPPER函数进行索引,sql-server,liquibase,Sql Server,Liquibase,我正在尝试使用SQL Server中的以下查询使用liquibase创建索引 CREATE NONCLUSTERED INDEX LASTNAME_IDX ON EMPLOYEE(UPPER(LAST_NAME)); 但是我在运行liquibase时出错了。它在oracle中运行良好。请告诉我是否有办法在SQL Server中创建索引,SQL Server不支持Oracle支持的函数索引。这里的一个解决方法是创建一个大写计算列,然后索引: ALTER TABLE EMPLOYEE ADD LA
CREATE NONCLUSTERED INDEX LASTNAME_IDX ON EMPLOYEE(UPPER(LAST_NAME));
但是我在运行liquibase时出错了。它在oracle中运行良好。请告诉我是否有办法在SQL Server中创建索引,SQL Server不支持Oracle支持的函数索引。这里的一个解决方法是创建一个大写计算列,然后索引:
ALTER TABLE EMPLOYEE ADD LAST_NAME_UPPER AS UPPER(LAST_NAME);
CREATE NONCLUSTERED INDEX last_name_idx ON EMPLOYEE(LAST_NAME_UPPER);
SQL Server不支持Oracle支持的函数索引。这里的一个解决方法是创建一个大写计算列,然后索引:
ALTER TABLE EMPLOYEE ADD LAST_NAME_UPPER AS UPPER(LAST_NAME);
CREATE NONCLUSTERED INDEX last_name_idx ON EMPLOYEE(LAST_NAME_UPPER);
请详细说明您的问题使用默认排序规则SQL Server不区分大小写Oracle区分大小写,因此不需要在UPPER上创建索引,只需为列编制索引。下次遇到不理解的错误时,请发布完整的错误消息。任何人都不需要猜测这些事情。正如Piotr提到的,如果您对该列使用不区分大小写的排序规则,则没有理由这样做。请详细说明您的问题,默认排序规则SQL Server不区分大小写Oracle区分大小写,因此不需要在UPPER上创建索引,只需为列编制索引。下次遇到不理解的错误时,请发布完整的错误消息。任何人都不需要猜测这些事情。正如Piotr提到的,如果对该列使用不区分大小写的排序规则,则没有理由这样做。