Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 在sqlserver中使用UPPER函数进行索引_Sql Server_Liquibase - Fatal编程技术网

Sql server 在sqlserver中使用UPPER函数进行索引

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

我正在尝试使用SQL Server中的以下查询使用liquibase创建索引

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提到的,如果对该列使用不区分大小写的排序规则,则没有理由这样做。