我在IBM DB2 / AS400中有一个类型为“PIC S9(7)COMP-3”的日期列。 当我将这些值放在SQL Server中时,我的列数据类型更改为“decimal(7,0)”。这只是使DB2数据类型与SQL Server类似。
现在,我想查找此特定日期列中是否有“空格”或“数字”。
日期栏如下:
DATE
-------
4040404
(a space)
404040
2020202
(a space)
202020
在这样的情况下会出错: “将数据类型varchar转换为数字时出错。”
Select ID, DATE
from Table1
Where DATE = ''
如何解决这个问题?
答案 0 :(得分:0)
由于列中出现空格,因此数据类型应默认为varchar。
将列(以避免数据类型错误)显式转换为varchar,然后使用通配符检查浮动空格或数字。例如
where Convert(varchar, Column_Date) like '%[ ]%'
或
where Convert(varchar, Column_Date) like '%[0-9]%'
取决于您要过滤的内容。