请教sqlite基本查询问题,如何区分大小写

在org-mode中写代码我一直用的是 #+BEGIN_SRC go ... #+END_SRC,最近发现官方文档用的是小写,大部分人用的也是小写,于是决定换过来,发现改起来比较麻烦,我org文件中的很多代码是要执行的,改了后识别不出来,还有我很多org文件是放进数据库里的,要写sql.

mysql我这么写就可以了

select `title` from `file` where `content` like BINARY '%BEGIN_SRC%'

sqlite我问了一些AI以及自己搜索,是这么写

select `title` from `file` where `content` like '%BEGIN_SRC%' COLLATE BINARY ;

然而结果还是大小写不分,把我已经改为小写的也搜索出来,想问GPT-4o,然而梯子又出些问题,打不开,一时想不出办法,于是来论坛请教

为什么不问问古老的StackOverflow呢

SELECT * FROM mytable 
WHERE caseSensitiveField like 'test%' 
AND UPPER(caseInsensitiveField) like 'G2%'

感谢回复,这个方法可以,上面的写法没效果原因找到了,有个设置 case_sensitive_like默认是false,要改成true, Pragma statements supported by SQLite

但这个设置标住的是已弃用,只是为向下兼容还存在,所以还是要用你的办法

1 个赞