我在SQL Server 2005中有一些特殊字符,其中一个字段有日文数据。 由于哪个多维数据集处理失败并且找不到属性键错误。
Analysis Services服务器解释的值是'野田',但db中的值是野田。
[注意价值后的空格'野田']
我试图在last_name列的数据末尾搜索包含此特殊字符的所有行。
为此,我尝试了以下查询,但它没有给我不正确的结果。
select * from [#temp1]
where convert(nvarchar,last_name) like convert(nvarchar,'% ')
我希望在last_name字段的值末尾包含特殊字符('')的行。
我错过了什么?
答案 0 :(得分:0)
您可以尝试使用REVERSE
和SUBSTRING
像这样,
select * from [#temp1]
where SUBSTRING(REVERSE(last_name),1,1)=' '
答案 1 :(得分:0)
看起来你的尾随字符实际上并不是一个空格,而是在SSMS中显示为一个(或者你用来查看数据的其他任何东西)。你需要找到那个角色实际上是什么,所以我会尝试这样的事情:
SELECT
last_name,
ASCII(SUBSTRING(last_name, LEN(last_name), 1))
FROM
#temp1
如果您知道id值或其他方式查看该行,则添加WHERE
子句。
完成后,您应该能够找到该数据的所有实例:
SELECT
* -- Get whatever columns you need
FROM
#temp1
WHERE
last_name LIKE '%' + CHAR(<value found above>)