我对上面的标题感到困惑。
SELECT * FROM `parties` WHERE `party_name` LIKE '%DMK%' ORDER BY `id` ASC
在这里,我从DB中获得了4行,所有行的party_name都包含" DMK"。
SELECT * FROM `parties` WHERE `party_name` LIKE 'DMK' ORDER BY `id` ASC
在这里,我得到了一行,其中包含party_name为"DMK"
第一个查询是搜索字符串的一部分。第二个查询是搜索确切的字符串
是吗??
还是两者相同?
对不起,这类问题,Thanx
如果你使用没有%通配符的LIKE
是相同的
=
)。所以如果你写:
SELECT * FROM parties WHERE party_name LIKE 'DMK' ORDER BY id ASC
与以下各项相同:
SELECT * FROM parties WHERE party_name = 'DMK' ORDER BY id ASC
如果你写:
SELECT * FROM `parties` WHERE `party_name` LIKE '%DMK%' ORDER BY `id` ASC
你会发现所有party_name谁硬币 DMK
如果你写:
SELECT * FROM `parties` WHERE `party_name` LIKE '%DMK' ORDER BY `id` ASC
您会发现所有party_name结尾都带有 DMK
如果你写:
SELECT * FROM `parties` WHERE `party_name` LIKE 'DMK%' ORDER BY `id` ASC
您会发现所有party_name都以 DMK 开头
SELECT * FROM `parties` WHERE `party_name` LIKE '%DMK%' ORDER BY `id` ASC
表示包含 DMK 的所有字符串,例如('DMK1, 'ADMK', ADMKB')
SELECT * FROM `parties` WHERE `party_name` LIKE 'DMK' ORDER BY `id` ASC
表示所有字符串等于 DMK 为 并且等效于
SELECT * FROM `parties` WHERE `party_name` = 'DMK' ORDER BY `id` ASC
party_name LIKE 'DMK'
将仅匹配值为"DMK"的列。 它本质上与party_name ='DMK'
party_name LIKE '%DMK%'
这将匹配"DMK"存在于任何地方的字符串例。abcDMK , abcDMKefg , DMKabc
party_name LIKE '%DMK'
这将匹配最后一个存在"DMK"的字符串示例:它将匹配abcDMK,但不会匹配abcDMKefg
party_name LIKE 'DMK%'
这将匹配开头存在"DMK"的字符串示例:它不会abcDMK,但它不会匹配abcDMKefg