我有这样一个表格:
+---------+--------------------+
|ID | Component |
+---------+--------------------+
|00241147 | 000000001000245598 |
|00241147 | 000000001000090069 |
|00249207 | 000000002510256707 |
|00249208 | 000000002510245146 |
+---------+--------------------+
我想只选择Component以'1'开头的那些行。
我正在使用以下代码:
select * from Table where Component like '%1%'
答案 0 :(得分:4)
将它们转换为bigint并使用left()
函数
select * from Table where left(cast(Component as bigint), 1) = 1
注意:以上假设Component列具有varchar数据类型
编辑:感谢您通过 Uwe Keim
进行演示澄清答案 1 :(得分:2)
试试这个:
SELECT * FROM Table
WHERE SUBSTRING(str_col, PATINDEX('%[^0]%', str_col+'.'), LEN(str_col)) LIKE '1%';