[SQL]如何不用Alter session,做到AI(accent insensitive)

claire_wu 2011-05-18 05:54:42
1) 我创建了一个表,并插入了三条记录:
create table accent_test(col varchar2(10 char);
insert into accent_test values('INDIA');
insert into accent_test values('india');
insert into accent_test values('InDiÄ ');

2) 下面SQL的结果做到了CI(Case insensitive),没做到AI, 返回结果没有包含第三条记录:
select *
from accent_test
where NLS_UPPER(col, 'NLS_SORT=GENERIC_BASELETTER') LIKE NLS_UPPER('INDIA', 'NLS_SORT=GENERIC_BASELETTER'


3) 我知道下面语句可以让上面SQL语句返回所有记录,可是它会导致当前session下所有表的所有字段都受到影响:
SQL> ALTER SESSION SET NLS_COMP=LINGUISTIC;
SQL> ALTER SESSION SET NLS_SORT=GENERIC_BASELETTER;

问题:
请问有什么办法能够不改变session,只针对表的某个字段做到AI(accent insensitive)?

先谢谢了哈!
...全文
213 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
claire_wu 2011-05-20
  • 打赏
  • 举报
回复
有人知道吗:(
claire_wu 2011-05-19
  • 打赏
  • 举报
回复
To BOBO12082119:
谢谢你提供的文章,可惜这篇文章讲的是SORT, 不是QUERY

To tangren:
谢谢你的回复,那有什么办法通过where语句里面做到AI呢?
claire_wu 2011-05-19
  • 打赏
  • 举报
回复
又加了20分,请各位帮帮忙哦。。
tangren 2011-05-18
  • 打赏
  • 举报
回复
nls_comp规则不能在函数中设置,只能在全局和会话级别设置。
文末附数据集可视化效果图。 【数据集概况】 · 检测类别(中文):[矿石0(0), 矿石1(1), 矿石10(10), 矿石11(11), 矿石2(2), 矿石3(3), 矿石4(4), 矿石7(7), 矿石8(8), 矿石9(9), 模组矿石(modore), 普通矿石(ore)] · 训练集:1383 张 · 验证集:130 张 · 测试集:66 张 · 总计:1579 张 该数据集聚焦于典型游戏内资源采集场景,以俯视角呈现冰雪覆盖的虚拟地形环境,包含多种类型矿石与特殊资源点。数据集中各类矿石分布密集且形态多样,标注清晰,能够有效支持对复杂背景下的小目标识别与分类任务,具备较高的训练价值和实际应用潜力。... 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 100 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.9185** mAP50-95 | 0.5810 Precision | 0.9468 Recall | 0.8648 train/box_loss | 1.2381 train/cls_loss | 0.4081 val/box_loss | 1.5489 val/cls_loss | 0.5361 【训练过程分析】 100 轮训练后 mAP50 达到 0.9185,模型收敛良好。Loss 曲线前段快速下降,后段趋于平稳,val_loss 无反弹,没有明显过拟合。但 mAP50-95 为 0.5810,和 mAP50 差距 0.34,定位精度仍有优化空间。 【模型性能评估】 Precision 0.9468、Recall 0.8648...

17,133

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧