Sql server 2008 在特定位置搜索%character%

Sql server 2008 在特定位置搜索%character%,sql-server-2008,Sql Server 2008,当前正在创建一个查询,我需要在其中查找列中的位置5是字符还是数字。字段本身显然是char,但需要弄清楚如何区分 我就是这样找到这个职位的: substring(a.bin_num,5,1) 我认为安全的方法是使用LIKE操作符将第五个字符与正则表达式字符范围[0-9]进行比较。上面的评论建议使用ISNUMERIC(),但其中有一些警告 SELECT bin_num, CASE WHEN SUBSTRING(bin_num, 5, 1) LIKE '[0-9]'

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

我就是这样找到这个职位的:

substring(a.bin_num,5,1)

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

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

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

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

你走在正确的轨道上,到目前为止有什么问题吗?你走在正确的轨道上,到目前为止有什么问题吗??