gpt4 book ai didi

sql - 如何在不重新输入字段名称的情况下比较字段的修剪长度和未修剪长度?

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:28 25 4
gpt4 key购买 nike

基本上,我想检查 varchar 字段中文本右侧是否有空格。为此,我想将 DATALENGTH(fieldName)DATALENGTH(RTRIM(fieldName)) 进行比较。

这并不难。

唯一的问题是,我需要对五个表中的所有 varchar 字段执行此操作。我需要以这种方式比较大约 250 个字段。有没有一种方法可以将所有这些字段名称放入一个查询中,而无需输入每个字段名称 2x?

我正在使用此查询来获取我需要查看的字段的名称。

SELECT name FROM sys.columns WHERE object_id = 
(SELECT object_id FROM sys.tables WHERE name='tableName')
AND system_type_id = 167

(使用 SQL Server 2005)

谢谢!

最佳答案

如果只是输入问题,我会让 SQL Server 为我生成代码:

SELECT
'SELECT * FROM ' + o.name + ' WHERE DATALENGTH(' + c.name + ') > DATALENGTH(RTRIM(' + c.name + '))'
FROM
sys.objects o
INNER JOIN sys.columns c ON
c.object_id = o.object_id AND
c.system_type_id = 167
WHERE
o.name = 'tableName'

您确定类型 167 就是您需要检查的全部内容吗?

关于sql - 如何在不重新输入字段名称的情况下比较字段的修剪长度和未修剪长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5968349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com