问题标签 [nls-sort]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sorting - 以文本为数字的 oracle 排序
我的NLS
设置:
简单测试查询:
实际结果:
期望的结果:
问题:
有没有NLS
可以帮助我达到预期结果的设置?我知道我可以做order by to_number(x)
,甚至更好,order by lpad(x, 5)
但在这种情况下并不好 - 我需要一个不需要更改查询的系统范围的解决方案。
我尝试了什么:
order by nlssort(x, 'nls_sort=binary');
alter session set nls_sort='binary';
java - 使用 openjpa 的 Oracle 动态 NLS_SORT
我有一个应用程序,每个用户都可以在用户设置中选择一种语言。现在我想为 NLS_SORT 设置这种语言。我可以在每个 order-by 查询中发送这种“语言”,但我认为这不是一个好的解决方案。我想在用户登录后设置它,但我没有通过谷歌找到任何解决方案。有人可以帮助我或给我一个更好的选择吗?我认为每个多语言应用程序都应该有这个问题,但我发现关于它的信息和解决方案不足。
感谢您的时间。
oracle - 当我更改 NLS 时,ora 给出“ORA-00979:不是 GROUP BY 表达式”错误
我的 Oracle NLS 参数是:
询问:
此查询有效并返回数据。
但是当我改变
此查询指向"= TABLEA.COLUMNA1"
并给出“ORA-00979:不是 GROUP BY 表达式”错误?
在我的项目中,我有很多这样的查询,但我无法全部更改。如果我的查询错误,为什么要先运行?
提前致谢!
c# - Linq to Sql NLSSORT
只是想知道是否有办法通过 linq 调用 NLSSort。
实际上更具体地说,当我在 Linq 中调用 OrderBy 子句时,我希望它们按字母顺序排列,但忽略特殊字符,例如“。”/@
有谁知道扩展方法或如何编写扩展方法来做到这一点?
-谢谢
sql - 如何首先按数字字母的列对表格进行排序,然后对字母字母区分大小写
如何按列 varchar2 对表进行排序,其中包含不同情况下的字符:大写、小写、数字字符串
例如,当我按列 NAME 进行排序时,该列的数据是:
预期结果是:
sql - Making Oracle sorting case-insensitive?
This is related to making oracle sorting case-insensitive. Most of the solutions I have seen mentions setting below session params :
By default NLS_COMP is BINARY.
I found that if I just set NLS_SORT to BINARY_CI without setting the NLS_COMP to LINGUISTIC, it still works, i.e oracle sort becomes case-insensitive. Is there any advantage to setting NLS_COMP param ?
sql - 为单个查询更改 NLS_SORT
在通过脚本连续触发的大量查询中,单个查询使用 REGEXP_LIKE。在其中我不希望正则表达式 ([az]) 匹配变音符号 (á, õ,ì)。我发现这样做的唯一方法是将 NLS_SORT 设置为 BINARY。但是,此查询不应影响之后运行的任何其他查询。
因此,我只想为此查询设置变量 NLS_SORT。但是,我宁愿不求助于 PL/SQL。有什么办法可以做到这一点?
我更喜欢这个,但根据我发现的文档,不存在这样的参数:
我可以想象这样的事情:
- 除了设置 NLS_SORT 之外,还有其他方法可以让正则表达式排除变音符号吗?
- 有没有办法在没有 PL/SQL 的情况下恢复 NLS_SORT 设置?
sql - Oracle Db 11.2 NLS_SORT 索引范围扫描性能
我们在“varchar2”列上使用“nls_sort”功能索引。当我们尝试获取唯一值时,索引性能与普通(非功能性)索引一样好。但是,当我们尝试在“nls_sort”功能索引上编写带有“范围扫描”计划的查询时,我们会遇到严重的性能损失。我准备了一个最小的测试用例来查明问题。
在我们的系统中,以下查询在 5.8 秒内运行
当我们切换到二进制
这次相同的查询在 0.078 秒内运行。是否存在我们遗漏的关于“nls_sort”功能索引的已知问题?你觉得这种行为正常吗?
oracle11g - 语言排序和字符串搜索在 oracle 中获取不正确的数据
我在 Oracle 11g 数据库中有一个表“审计”。该表有一列“Account_Name”。“Audit”.“Account_name”列包含以下数据:“Guest”、“feeder_1”、“feeder_2”、“feeder_3”等。
我在“Audit.Account_Name”列上创建了以下索引。
从 JDBC 代码中,我首先执行以下语句,然后执行实际查询以从“审计”表中获取数据。
//这是执行以获取数据的代码
上面的查询从表中获取所有数据,包括像“Guest”这样的值。我除了查询应该只获取 Account_name 以“f”开头的行,但看起来像 NLS_SORT 和 NLS_COMP 正在获取不正确的数据。
我发现如果我评论“line2”,它会正确获取数据。谁能建议为什么这些选项不能正常工作。
我在同一个连接对象上执行了来自 JDBC 代码的查询。
这个问题是在生产环境中提出的。所以早些时候我已经使用 JDBC 编写了一个独立的 Java 代码来检查我是否遇到了与生产中相同的问题。
我现在编写了一个 Oracle 程序,在程序中首先设置 NLS_COMP 和 NLS_SORT 参数,然后执行搜索查询(此处使用 CURSOR),然后重新设置 NLS_SORT=BINARY。结果是一样的,我遇到了同样的问题。
执行以下查询后,我得到字符集为“WE8MSWIN1252”;
从 nls_database_parameters 中选择值到 char_set 中,其中 parameter = 'NLS_CHARACTERSET';
oracle - 修改列中的不可见字符
我有一个字符串,它排列成一个没有空格和一些字符且没有标点符号的字符串。最后的字符串是 6 个字符“ABCDEF”,但长度是 7。为什么?它在甲骨文中。
谢谢