小编Bas*_*ase的帖子

LEFT 与 CHARINDEX 用于匹配 T-SQL 中字符串的开头

我想匹配WHERE子句中字符串的开头。虽然我认识到数据库性能通常取决于底层数据结构,但是否有最佳实践来做到这一点?是否有一种选择总是优于其他选择?

我想避免,LIKE因为我认为它的效率低于LEFTor CHARINDEX。据我所知,我的选择如下。欢迎其他建议:

DECLARE @MyField as varchar(10)
SET @MyField = 'HELLOWORLD'
SELECT 1 WHERE @MyField LIKE 'HELLO%'
SELECT 2 WHERE LEFT(@MyField, 5) = 'HELLO'
SELECT 3 WHERE CHARINDEX('HELLO', @MyField) = 1
Run Code Online (Sandbox Code Playgroud)

sql-server string-searching

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

sql-server ×1

string-searching ×1