【问题标题】:Prompting of spaces before, in between or after insertion in SQL SSIS在 SQL SSIS 中插入之前、中间或之后提示空格
【发布时间】:2018-04-13 09:59:11
【问题描述】:

我有这个在 Visual Stdio 中运行良好的 SSIS。但是剩下的唯一问题是我要让它告诉我在各个表的任何列中插入的数据之前、中间或之后是否有空格。 例如,考虑下表:

---------------------------------------------
|  Name  |            Description            |
---------------------------------------------
| Orange | "  a large round juicy citrus.."  |
| Orange | "A large round juicy citrus..  "  |
| Orange | "A large round juicy citrus..  "  |
| Orange | "A large round juicy citrus.."    |
| Orange | "A large    round juicy citrus.." |
---------------------------------------------

注意在描述表中,语句前后有空格。我希望我的 SSIS 告诉我这些空间存在。我在想一个插入后触发器或游标来检查所有记录并告诉我哪个表和列有它。

算上你们的帮助。 谢谢大家。

【问题讨论】:

  • 如果你想让你的 SSIS 包告诉你这一点,你不会在桌子上使用触发器。在您的包上放置一个脚本任务以在 C# 中检查它

标签: sql ssis trim


【解决方案1】:

您可以通过将描述列中的空格替换为空字符串然后减去长度来实现。如果长度>0,则存在空格,否则没有。

select name
,description
, (Case when (len(description) - len(replace(description, ' ', ''))) >0
then 'Y' else 'N' end) space_YN
from tab;

链接到 SQL 小提琴:- SQL Fiddle

【讨论】:

  • 这不会替换中间的空格吗?
  • 也许用 ltrim 代替替换
  • @KeithL:- OP 要检查所有空格“注意在描述表中,语句之前、中间或之后都有空格”。
猜你喜欢
  • 1970-01-01
  • 2019-10-14
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-18
  • 1970-01-01
相关资源
最近更新 更多