SYBASE 中土耳其语 SQL 归类的问题

Problems with Turkish SQL Collation in SYBASE

我在将 SYBASE 数据库设置为任何土耳其排序规则时遇到问题,如下

select l.OID,l.OID_KIRACI,l.IL_ADI,l.ILCE_ADI,l.MAHALLE_ADI,l.EMLAK_NO,l.KIRALANAN_YER_NO,l.KIRACI_ADI,l.KIRACI_SOYADI,l.TUZEL_KIRACI_ADI,l.KIRACI_ADRES,l.SOZLESME_NO,l.SOZLESME_TARIH,l.KIRA_BASLANGIC_TARIH,l.KIRA_BITIS_TARIH ,l.ALT_KIRACI_VAR_MI,l.SOZLESME_DURUMU from V_KIRACI_SOZLESME l where l.OID_ILCE=1024 and l.OID_IL=77 and UPPER(l.TUZEL_KIRACI_ADI ) 像 'yalova lisesi okul aile birliği%' 按 KIRALANAN_YER_NO,KIRACI_ADI,KIRACI_SOYADI asc

排序

和 sql 没有给出结果,因为 UPPER(l.TUZEL_KIRACI_ADI) 就像 'yalova lisesi okul aile birliği%' 被 upper 更改为 YALOVA LISESI OKUL AILE BIRLIĞI这样就没有结果了。

提前致谢。

您使用的是 Sybase ASE 还是其他类型的 Sybase 数据库? 默认情况下,Sybase ASE 对数据比较区分大小写。这与字符集无关。因此,正如您所指出的,此查询永远不会 return 任何行,因为本质上 'A' != 'a'

select l.OID,l.OID_KIRACI,l.IL_ADI,l.ILCE_ADI,l.MAHALLE_ADI,l.EMLAK_NO,l.KIRALANAN_YER_NO,l.KIRACI_ADI,l.KIRACI_SOYADI,l.TUZEL_KIRACI_ADI,l.KIRACI_ADRES,l.SOZLESME_NO,l.SOZLESME_TARIH,l.KIRA_BASLANGIC_TARIH,l.KIRA_BITIS_TARIH ,l.ALT_KIRACI_VAR_MI,l.SOZLESME_DURUMU from V_KIRACI_SOZLESME l where l.OID_ILCE=1024 and l.OID_IL=77 and dbo.sf_trupper(l.TUZEL_KIRACI_ADI) 喜欢 dbo.sf_trupper('Yalova Lisesi Okul Aile Birliği%') 按 KIRALANAN_YER_NO,KIRACI_ADI,[=44 排序=]升序

就这些了!