
Oracle Character Set Functions
Convert between character set names and numbers, find the database's character sets, and size NCHAR columns with NLS_CHARSET_DECL_LEN.
Explore comprehensive Oracle SQL resources designed for database developers and administrators. Our guides cover everything from basic query construction to advanced techniques for complex joins, analytical functions, and hierarchical data manipulation. Learn practical approaches to performance optimization through execution plan analysis, smart indexing strategies, and efficient table partitioning. Discover best practices for data modeling, constraint management, and large dataset handling that solve real business challenges. Whether you're writing reports, building data warehouses, or maintaining enterprise databases, enhance your Oracle SQL proficiency with our actionable insights.

Convert between character set names and numbers, find the database's character sets, and size NCHAR columns with NLS_CHARSET_DECL_LEN.

Sort and compare strings by linguistic rules instead of byte values, ignoring case with BINARY_CI and accents with BINARY_AI.

Find names that sound alike despite different spellings by comparing Double Metaphone codes, with primary and alternate pronunciations.

Find misspelled and similar names in SQL by scoring string similarity with Levenshtein, Jaro-Winkler, bigram, and other algorithms.

Count how many times a pattern occurs in a string, from words and search terms to digits and groups, with case-insensitive options.

Find the position of a regular expression match in a string, choose which match, get the position after it, and locate a single group.

Match strings against regular expressions in WHERE, CASE, and CHECK constraints, and avoid the bracket mistake with \d in Oracle patterns.

Format and read numbers with 9, 0, G, D, L, MI, PR, and other elements, keep leading zeros, and follow each locale's separators.

Format and read dates with the right elements, use FM, FX, TH, and SP, understand RR versus YY, and avoid session format surprises.

Learn what ROWNUM, ROWID, ORA_ROWSCN, and COLUMN_VALUE return, why ROWNUM is assigned before ORDER BY, and when to use FETCH instead.

Learn why comparisons with NULL are unknown, how that drops rows from results, and how to avoid the NOT IN trap and other NULL surprises.

Densify sparse data so every group gets every month or category, by adding PARTITION BY to the sparse side of an outer join.

Find rows that have a match, or none, with EXISTS and NOT EXISTS, without the duplicates of a join or the NULL trap of NOT IN.

Run a subquery once for each row with LATERAL, CROSS APPLY, and OUTER APPLY to get top N per row and several columns per row.

Define vertices and edges over existing tables and query connections with GRAPH_TABLE patterns, either direction, and variable-length paths.

Read a random percentage of a table's rows for quick estimates or test data, make samples repeatable with SEED, and choose row or block sampling.

See data as it was minutes ago, put back rows changed by mistake, and list every committed version of a row with VERSIONS BETWEEN.

Treat query results as arrays of cells and compute projections with spreadsheet-like rules, using UPSERT, CV, PRESENTV, and ITERATE.