-3

我在 SQL Server 中有一个数据列,该列始终以数字开头,有时在数字后面有一个空格以及其他详细信息。这是一个文本列。我需要一个查询,如果有空格或其他信息,它将删除所有内容,包括空格。换句话说,我只需要这个列中的数字。有时只有一个数字,有时没有。我可以在执行此操作的查询中获得帮助吗?

4

3 回答 3

2

尝试这个

 Select case When charIndex(' ', columnName) > 0 
           Then substring(columnName, 1, charIndex(' ', columnName)-1)
           else ColumnBame End
 From tableName
于 2013-05-22T18:01:05.843 回答
2

试试这个(用你拥有的任何名称替换 mydb 和 textfield):

UPDATE mytable
SET textfield = LEFT(textfield+' ', CHARINDEX(' ', textfield) - 1)
WHERE CHARINDEX(' ', textfield) > 0
于 2013-05-22T18:05:38.470 回答
0

我会建议这样的事情:

SELECT CASE 
WHEN ISNUMERIC(SUBSTRING(YourNumber, 1)) THEN SUBSTRING(YourNumber, 1, len(YourNumber) -1)
WHEN ISNUMERIC(SUBSTRING(YourNumber, 2)) THEN SUBSTRING(YourNumber, 2, len(YourNumber) -2)
WHEN ISNUMERIC(SUBSTRING(YourNumber, 3)) THEN SUBSTRING(YourNumber, 3, len(YourNumber) -3)
WHEN ISNUMERIC(SUBSTRING(YourNumber, 4)) THEN SUBSTRING(YourNumber, 4, len(YourNumber) -4)
END
FROM TableName
于 2013-05-22T18:00:44.603 回答