SQL Server - Transact-SQL 整理不起作用



我正在尝试使用PATINDEX函数,如下所示:

select PATINDEX('%[A-Z].%', 'he.llo MA. asd ' collate Cyrillic_General_CS_AS)

我预计它会返回9,但它会返回2。有人能告诉我怎么了吗?我还尝试在第一个参数中提供collate,并使用Latin1_General_CS_AS而不是Cyrilic,结果相同。

尝试强制进行二进制比较,以便逐点进行。

这个家伙链接有助于解决你的问题。链接

我复制了你得到的2,用COLLATE Latin1_General_BIN,它返回了预期的9。

SELECT PATINDEX('%[A-Z].%', 'he.llo MA. asd ' COLLATE Latin1_General_BIN )

以下是我基于这个SO线程的古怪解决方法(以防Matt Akers的回答对你没有帮助):

select PATINDEX('%[ABCDEFGHIJKLMNOPQRSTUVWXYZ].%', 'he.llo MA. asd ' collate Latin1_General_CS_AS)

相关内容

  • 没有找到相关文章

最新更新