use*_*443 0 where sql-server-2008
我有一个SQL Server数据库,我想定义一个查询,该查询仅根据int列中的前两个数字返回结果.
就像是:
SELECT * FROM myTable WHERE myIntColumn = 13%
Run Code Online (Sandbox Code Playgroud)
因此,将返回包含13,133,134和1380的任何行
没什么好看的,只需更改为varchar和模式匹配.
SELECT * FROM myTable
WHERE CAST(myIntColumn as varchar(10)) LIKE '13%'
Run Code Online (Sandbox Code Playgroud)
你可以整数除以10的幂,但它是一个循环或递归
;WITH cTE AS
(
SELECT TOP 9
POWER(10, ROW_NUMBER() OVER (ORDER BY column_id)) AS divisor
FROM
sys.columns
)
SELECT
*
FROM
myIntColumn
JOIN
cTE ON myIntColumn / divisor = 13
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1464 次 |
| 最近记录: |