Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 仅选择编号为SQL Server的字符串_Sql Server_String - Fatal编程技术网

Sql server 仅选择编号为SQL Server的字符串

Sql server 仅选择编号为SQL Server的字符串,sql-server,string,Sql Server,String,我只需要在我的表中选择字符串,但是这个表中有数字和字符串 例: 我的选择只需要返回ID:1、2、3 感谢作为Joe非常优秀的ISNUMERIC解决方案的替代方案,您可以使用PATINDEX确保您具有字母字符: SELECT ID FROM YourTable WHERE PATINDEX('%[a-z]%', name) > 0 这可能会稍微快一点,因为它会在字符串到达第一个字母字符时停止搜索。呃,id真的是一个单独的列,而名称是一个单独的列吗?如果您的select只需要

我只需要在我的表中选择字符串,但是这个表中有数字和字符串

例:

我的选择只需要返回ID:1、2、3


感谢

作为Joe非常优秀的
ISNUMERIC
解决方案的替代方案,您可以使用
PATINDEX
确保您具有字母字符:

SELECT ID
    FROM YourTable
    WHERE PATINDEX('%[a-z]%', name) > 0

这可能会稍微快一点,因为它会在字符串到达第一个字母字符时停止搜索。

呃,id真的是一个单独的列,而名称是一个单独的列吗?如果您的select只需要返回1、2、3,那么您只需要表中的整数。是用空格分隔的吗?我想我知道为什么,但是你可以评论你为什么要做
+'.0e0'
,因为我不认为这是非常直观的需要。@恶心-因为你可以得到与
ISNUMERIC
的意外匹配,因为它将对非int数据类型(如float)求值
TRUE
<代码>12e10将以
TRUE
的形式通过
ISNUMERIC
。通过添加
.0e0
可以强制它只检查整数值。@恶心:如果不检查整数值,ISNUMERIC将为“+”和“$”返回1。
SELECT ID
    FROM YourTable
    WHERE ISNUMERIC(Name + '.0e0') = 0
SELECT ID
    FROM YourTable
    WHERE PATINDEX('%[a-z]%', name) > 0