我有表格,其中数字存储在nvarchar
数据类型中。数据如下:
Numbers
---------
200
504 040
694 380
153 272
26 296
现在我想摆脱数字中的空白区域。但是,REPLACE(Numbers,' ','')
无效,因为空格似乎是某种特殊的“blank space
”。
所以我尝试使用我在SO(link)上找到的函数找到任何特殊字符。什么都没发生,没有找到任何特殊的角色。
所以下一步是将记录导出到.csv
文件,并使用TotalCMD检查数据的编码。结果可以在这里看到:
任何可能出错的想法以及如何更换这些空白区域?我认为Unicode编码显示了这个问题,但我在这方面缺乏知识,所以我也错了。
更新#1 - 向您展示更多
表格如下:
Category Number
-------------------
Cars 200
Cars 504 040
Cars 694 380
Cars 153 272
Cars 26 296
Bikes 50 000
Bikes 21 412
Bikes 8 541
现在我运行查询:
SELECT
t.Category, REPLACE(t.Numbers,' ','')
FROM
tableMix AS t
WHERE
t.Category = 'Cars'
SELECT
t.Category, REPLACE(t.Numbers,' ','')
FROM
tableMix AS t
WHERE
t.Category = 'Bikes'
奇怪的是 - 第一个查询不会替换Cars
类别的空格,但是第二个查询对Bikes
类别的数值没有任何问题。
答案 0 :(得分:0)
尝试从nvarchar中获取数字
SELECT
t.Category, cast(t.Numbers as int)
FROM
tableMix AS t
WHERE
t.Category = 'Cars'