我有一个包含char(12)
行的单列的简单表格,如:
DRF4482
DRF4497
DRF451
DRF4515
EHF452
FJF453
GKF4573
我想选择D
和F
之间的所有行,并在结尾处有4个数字。与DRF4482
,DRF4497
,DRF4515
等一样,我尝试了许多不同的通配符组合,但我没有获得任何行。我正在使用:
SELECT * FROM `expired` WHERE id like '%[D-F][A-Z][A-Z]____';
我甚至试图将其扩大到:
SELECT * FROM `expired` WHERE id like '%[D-F]%';
并且也不会返回任何内容。
我甚至根据其他一些帖子尝试了COLLATE latin1_bin
,但这也没有用。我的表格为utf8
,但我创建了第二个表格latin1
并尝试了几个不同的排序规则,结果相同 - 没有行。
我的错误在哪里?
答案 0 :(得分:2)
您需要使用REGEXP
代替<DataTemplate x:Key="InformationMessageTemplate">
<ViewCell>
<ViewCell.View>
<StackLayout Orientation="Horizontal" BackgroundColor="#FFFFFF" HorizontalOptions="FillAndExpand">
<Label FontAttributes="Bold" Text="{Binding Sender}" />
<Label Text=" chegou na sala" HorizontalOptions="FillAndExpand"/>
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
。请注意,语法略有不同;它不会对SQLish LIKE
通配符执行任何操作。
所以,你想要
%
这个应用程序。希望您在这些字符串中没有多字节字符,因为MySQL的正则表达式在这些情况下无法正常工作。