Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 试图找到最大值_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 试图找到最大值

Sql 试图找到最大值,sql,sql-server,tsql,Sql,Sql Server,Tsql,我试图找到字符串的最大数目。首先,我尝试先将其转换为整数字段,但不断收到错误消息,例如: 将nvarchar值“3029”转换为数据类型int时,转换失败 我尝试将可能的单引号替换为一个空白字符,如下所示: SELECT TOP 100 (CAST(REPLACE(a.PortNumber,'''','') AS INT)) FROM dbo.Account a WHERE nwp_AccountType = 121710000 ORDER BY (CAST(REPLACE(a.PortNumb

我试图找到字符串的最大数目。首先,我尝试先将其转换为整数字段,但不断收到错误消息,例如: 将nvarchar值“3029”转换为数据类型int时,转换失败

我尝试将可能的单引号替换为一个空白字符,如下所示:

SELECT TOP 100 (CAST(REPLACE(a.PortNumber,'''','') AS INT)) FROM dbo.Account a
WHERE nwp_AccountType = 121710000
ORDER BY (CAST(REPLACE(a.PortNumber,'''','') AS INT)) DESC
但仍然会再次收到相同的错误消息

有什么想法吗?

错误在您的REPLACE语句中

(CAST(REPLACE(a.PortNumber,',','') AS INT)) 

问题是逗号,我在空字符串中添加了另一个逗号替换,它可以工作。

您不能将列类型更改为整数吗?这是一个非常糟糕的方法!你确定不是逗号引起的问题吗?替换它,而不是“数字通常不存储逗号,它们显示在格式掩码上,除非是您所在区域的十进制符号。谢谢!我替换了逗号,它开始工作了!正如stb和xQbert已经指出的,更好的方法是将列定义为整数而不是nvarchar。例如,如果这是一个数字字段,则稍后您会通过不将其链接到数字类型int来询问问题。例如,-等待直到要求您对字段或聚合函数进行数学运算。