How to turn off postgresql case sensitive search? [duplicate] - postgresql

This question already has answers here:
How to make "case-insensitive" query in Postgresql?
(14 answers)
PostgreSQL accent + case insensitive search
(2 answers)
Case Insensitive searches/queries
(2 answers)
How to make LIKE clause case-insensitive?
(2 answers)
PostgreSQL citext index vs lower expression index performance
(1 answer)
Closed 3 years ago.
I have a lot of sql query command that use "WHERE" clause, I have just wondered that my postgresql searching was case sensitive.
for example:
Select * From myarea Where area_name = 'Jawa Barat1' --> not found
Select * from myarea Where area_name = 'jawa barat1' --> found
How to turn off the case sensitive searching in postgresql?
Please don't suggest me to change the sql command to set to lowercase at both side.
expect postgresql to in-case-sensitive searching (Mother = mother)

demo:db<>fiddle
Using ILIKE comparator, which (as the LIKE comparator) works also with wildcards (see fiddle)
Select * From myarea Where area_name ILIKE 'Jawa Barat1'
Or normalize string with lower() which converts all letters to non-capitals. You have to use it for both comparing literals:
Select * From myarea Where lower(area_name) = lower('Jawa Barat1')

Related

What is the exact way of using where clause in PostgreSQL 12? [duplicate]

This question already has answers here:
PostgreSQL "Column does not exist" but it actually does
(6 answers)
sql statement error: "column .. does not exist"
(1 answer)
Postgres column does not exist
(1 answer)
Closed 1 year ago.
I am trying to query a table using where clause in Postgres 12
case 1
SELECT *
FROM schema.e_employee_table
WHERE FK_EMPLOYEE=100;
so when i query the above query i get "FK_EMPLOYEE" column is missing.
case2:
SELECT *
FROM schema.e_employee_table
WHERE "FK_EMPLOYEE"=100;
when i query the above one i got the query results
So can someone explain do we need to put our column name inside "",is it the syntax. If so where it is mentioned in the official documentation.
And I can also see the column name we are mentioning is case sensitive.

I am having a syntax error in the MERGE statement [duplicate]

This question already has answers here:
Need to convert Oracle "merge into" query to PostgreSQL
(1 answer)
Migrating an Oracle MERGE statement to a PostgreSQL UPSERT statement
(3 answers)
Merge statement with two conditions in same CLAUSE alternative in Postgres
(1 answer)
PostgreSQL Upsert with a WHERE clause
(1 answer)
Closed 2 years ago.
I have postgres 12.3 and find an error in a simple MERGE statement like below:
MERGE INTO lkup_language a
USING (SELECT *
FROM dblc_stg.stg_lkup_home_language
WHERE home_lang_code NOT IN (SELECT home_lang_code
FROM dblc_stg.stg_lkup_home_language
GROUP BY home_lang_code
HAVING COUNT (*) > 1)) b
ON (a.language_cd = b.home_lang_code)
WHEN NOT MATCHED THEN
INSERT (a.language_key, a.language_cd, a.language_desc)
VALUES (NEXTVAL('SEQ_LKUP_LANGUAGE'),b.home_lang_code, b.home_lang_desc)
WHEN MATCHED THEN
UPDATE
SET a.language_desc = b.home_lang_desc ;
I hope I get some help
Thanks
Ajay

How to search for a variable name in PostgreSQL? [duplicate]

This question already has answers here:
How to find a table having a specific column in postgresql
(6 answers)
Closed 5 years ago.
I want to search for a particular variable name in ‘PostgreSQL’ database. Similar to the following ‘Teradata’ query
Select TableName, ColumnName from
DBC.Columns
Where ColumnName like (‘%profile%’)
Is there a similar query in PostgreSQL?
Postgres documentation
SELECT table_name,column_name
FROM information_schema.columns
WHERE column_name like '%profile%'

How to use LIKE operator with placeholder syntax in PostgreSQL? [duplicate]

This question already has answers here:
how to make a like search in postgresql and node js
(2 answers)
Closed 5 years ago.
Suppose you have a query like this:
SELECT * FROM the_table WHERE (name LIKE %$1%) LIMIT 10
And a values array like this:
[tyrone]
The query works without the %% syntax used with LIKE operator. Is it possible to combine these ideas? Any reference to the LIKE operator I can find abandons the use of placeholders.
I am receiving the following error when attempting the query above:
{"name":"error","length":90,"severity":"ERROR","code":"42601","position":"38","file":"scan.l","line":"1086","routine":"scanner_yyerror"}
SQL doesn't have string interpolation so you cannot use placeholders in string literals. You must instead use concatenation, e.g.
SELECT * FROM the_table WHERE (name LIKE '%' || $1 || '%') LIMIT 10
Note that the result of '%' || NULL is NULL.

How can I query in psql. If column name like camelCase [duplicate]

This question already has answers here:
Are PostgreSQL column names case-sensitive?
(5 answers)
Closed 5 years ago.
My psql table structure like below:
id userName gender
1 xxxx Male
if I am using query like below from psql shell:
select * from table where userName="xxx";
It gives error:
Error: column "userName" does not exists.
How can I query if column name contain with camelCase.
All identifiers are converted to lower case in postgres. To use upper case identifiers you should use double quotes around identifier to say postgres to not convert it to lower case :
select * from table where "userName" = 'xxx';