Tag Info

Hot answers tagged

10

by default, MySQL does not consider the case of the strings This is not quite true. Whenever you create database in MySQL, the database/schema has a character set and a collation. Each character set has a default collation; see here for more information. The default collation for character set latin1, which is latin1_swedish_ci, happens to be ...


6

You always should state with your question which version of MySQL you're using, because MySQL is in steady development. Okay, back to your question: The string functions in MySQL are always case sensitive, so you could use any of the functions LOCATE, POSITION, or INSTR. For example: SELECT phone FROM user WHERE POSITION('term' IN user_name)>0; ...


6

Just altering the lower_case_table_names setting isn't enough. It needs to be done before you import your database(s). The MySQL 5.1 documentation lists a procedure for moving between Windows and Linux/UNIX. This will ensure that your desired rules for enforcing case sensitivity are followed. Take a look and verify that you did these steps in the correct ...


6

Forcing correct values is one thing. Simple CHECK constraints per column can do the job reliably: CREATE TABLE foo foo_id serial PRIMARY KEY , text_column text CHECK (upper(text_column) = text_column) , ... ); Auto-correcting all input is another thing, and not as simple. But it can be done with a generic trigger function that looks up column names ...


3

Index usage with text_pattern_ops (as well as with the default operator class when using the C locale) depends on the binary representation of character data. citext stores original values with the case preserved, so there must be a problem with that ... Like you commented, the actual reason is burried in collation support. Either way, citext or text, you ...


3

You chose a case sensitive collation when installing SQL Server You will have "CS" in this result: SELECT SERVERPROPERTY('Collation') You either live with it or rebuild the master database


2

I ended up writing some code that transforms the SQL generated by the application into PostgreSQL-compatible SQL. It's pretty straightforward: Split the statement into sensible tokens, skipping single-quoted string literals Double-quote anything that is not a keyword or number I also took advantage of this layer to transform calls to isnull to coalesce. ...


2

SQL text and string data has a concept called "collation". Collations define how character sets compare and sort. Almost every database out there has the concept of "case-sensitive collation" vs. "case-insensitive collation". The collation used for comparison, search and sort can be changed on-the-fly (at a significant runtime cost usually) on a per-query ...


2

The syntax you're looking for is here CREATE {DATABASE | SCHEMA} ... [PAGE_SIZE [=] size] ... [DEFAULT CHARACTER SET charset [COLLATION collation]] ... [DIFFERENCE FILE 'filepath'] size ::= 4096 | 8192 | 16384 Also check out this page and this link from it specifically about case insensitive searches and collations on columns. ...


1

First of all, you should mention that you are using the additional module citext that provides the case insensitive text data type citext, which is not strictly needed here. The solution below only requires standard Postgres 9.4. Key elements are jsonb_each_text() to unnest jsonb values into key/value pairs and json_object_agg() to re-assemble the JSON ...


1

Create a password file, set it to insensitive. You should have a password file, even on windows, even if all it does is define who can connect as a sysdba. I just installed a default Standard Edition and a password file was created. THe last time I built a new EE system it was the same way. Here's the doc for how to set one up if you don't know. Make sure ...


1

Try adding this to a PropertyGroup in the .sqlproj file directly: <ModelCollation>1033,CI</ModelCollation> I had a similar issue when was migrating a .dbproj to a .sqlproj. I had this suggested to me by our team's dba, I don't know exactly what this does..


1

Is there a way to set up PostgreSQL to disable this automatic case folding for database object identifiers? Not directly. You might be able to make a relatively minor change to the PostgreSQL source code, and recompile it. (Start in src/backend/parser/parser.c?) But I'd be surprised if it were very simple.


1

In oracle it is possible since 10.2. Take a look here Case-Insensitive and Accent-Insensitive Linguistic Sorts,so you might want to take a look again, 8i is a while ago now ....



Only top voted, non community-wiki answers of a minimum length are eligible