在特定位置搜索%character%

时间:2017-09-20 06:23:31

标签: sql-server-2008

目前正在创建一个查询,我需要查找列中的位置5是字符还是数字。该领域本身显然是char,但需要弄清楚如何区分

这就是我找到这个职位的方式:

substring(a.bin_num,5,1)

1 个答案:

答案 0 :(得分:2)

我认为在这里继续安全的方法是使用[0-9]运算符将第五个字符与正则表达式字符范围LIKE进行比较。上面的评论中建议使用ISNUMERIC(),但有一些警告。

SELECT
    bin_num,
    CASE WHEN SUBSTRING(bin_num, 5, 1) LIKE '[0-9]'
         THEN 'numeric'
         ELSE 'not numeric' END AS label
FROM yourTable

Demo