Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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
Function 函数删除postgreSQL中的重音符号_Function_Postgresql_Struts 1 - Fatal编程技术网

Function 函数删除postgreSQL中的重音符号

Function 函数删除postgreSQL中的重音符号,function,postgresql,struts-1,Function,Postgresql,Struts 1,可能重复: 我正试图消除口音,所以当我选择时,它会忽略它们 例如: SELECT * FROM table WHERE table.id ILIKE 'Jose'; 它返回: José Jose Jósé Jóse 或者类似的 我发现这些函数不起作用,我想可能是因为我使用的是Struts 1.X,请检查它们,告诉我哪里错了,或者我应该使用什么其他函数 第一个功能 第二功能 在NetBeans中运行文件时,这两个函数都会生成以下错误: ERROR: unterminated dollar-q

可能重复:

我正试图消除口音,所以当我选择时,它会忽略它们

例如:

SELECT * FROM table WHERE
table.id ILIKE 'Jose';
它返回:

José
Jose
Jósé
Jóse
或者类似的

我发现这些函数不起作用,我想可能是因为我使用的是Struts 1.X,请检查它们,告诉我哪里错了,或者我应该使用什么其他函数

第一个功能

第二功能

在NetBeans中运行文件时,这两个函数都会生成以下错误:

ERROR: unterminated dollar-quoted string at or near "*the string that starts the function*"
使用PostgreSQL附带的模块

somedb=# CREATE EXTENSION unaccent;
CREATE EXTENSION
somedb=# SELECT unaccent('Hôtel');
 unaccent
----------
 Hotel

somedb=# SELECT * FROM table WHERE lower(unaccent(table.id)) = lower('Jose');
并通过生成无重音、小写的索引来加快速度:

somedb=# CREATE INDEX CONCURRENTLY ON table (lower(unaccent(id)));

索引创建不起作用,因为uncent不是不可变的。
somedb=# CREATE EXTENSION unaccent;
CREATE EXTENSION
somedb=# SELECT unaccent('Hôtel');
 unaccent
----------
 Hotel

somedb=# SELECT * FROM table WHERE lower(unaccent(table.id)) = lower('Jose');
somedb=# CREATE INDEX CONCURRENTLY ON table (lower(unaccent(id)));