2016-01-29 111 views
0

我希望有人能帮助我的脚本/查询NULL值的行,目标DB是MySQL的。SQL - 选择包含在非空列

我使用的数据库不符合它自己的约束,并在被转移到MS SQL的过程。我期望找到的是一个查询,该查询可以针对一个表进行查询,该表查找不允许空值的列中包含空值的行,这反过来又会有助于SSIS DFT调试时间。

非常感谢。

+0

是否表实际上有限制?你试过什么了? –

+0

不,有几个单独的列可以做,但有些数据不遵守约束条件。目前,当尝试将数据插入到新数据库时,我不得不根据错误更改约束,因为新数据库将强制约束。 – Torrm

+0

你如何确定哪些列应该允许NULL。你的问题对我来说似乎很不清楚。 –

回答

1

尝试:

SELECT group_concat(`COLUMN_NAME`) as myList 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_SCHEMA`='yourdatabasename' 
    AND `TABLE_NAME`='yourtablename' 
-- AND `IS_NULLABLE`='NO' 
into @colname; 
SET @query = CONCAT('SELECT ',@colname,' FROM yourtablename'); 
PREPARE stmt FROM @query; 
EXECUTE stmt; 
+0

有没有办法做到这一点,不涉及手动输入列名?感谢您的协助 – Torrm

+0

列名在此处动态选择,不涉及手动输入。但是,这仅适用于一个表,如果您需要为多个表执行此操作,则需要使用相同的逻辑来动态选择表名称。 –

+0

非常感谢我会放弃它! – Torrm