Sql server 用glyph替换所有不可见的字符会很好-然后我们可以像在文本编辑器中一样查看结果-只是我不确定是否有这样的字体。啊,是的,这确实是找到低字符数字符的好方法!这似乎是无效的SQL@paulwhit:以何种方式?如果将其粘贴到SQL Server Manage
Sql server 用glyph替换所有不可见的字符会很好-然后我们可以像在文本编辑器中一样查看结果-只是我不确定是否有这样的字体。啊,是的,这确实是找到低字符数字符的好方法!这似乎是无效的SQL@paulwhit:以何种方式?如果将其粘贴到SQL Server Manage,sql-server,hidden,query-analyzer,Sql Server,Hidden,Query Analyzer,用glyph替换所有不可见的字符会很好-然后我们可以像在文本编辑器中一样查看结果-只是我不确定是否有这样的字体。啊,是的,这确实是找到低字符数字符的好方法!这似乎是无效的SQL@paulwhit:以何种方式?如果将其粘贴到SQL Server Management Studio中,它将不会运行。它阻碍了cte.Charcode。如果我在子查询的FROM子句中包含Tx、cte,它将运行,但我不确定它是否在执行相同的操作。已编辑以包含交叉连接cte。这是一个非常有用的查询。最好的方法!只要确保您有n
用glyph替换所有不可见的字符会很好-然后我们可以像在文本编辑器中一样查看结果-只是我不确定是否有这样的字体。啊,是的,这确实是找到低字符数字符的好方法!这似乎是无效的SQL@paulwhit:以何种方式?如果将其粘贴到SQL Server Management Studio中,它将不会运行。它阻碍了cte.Charcode。如果我在子查询的FROM子句中包含Tx、cte,它将运行,但我不确定它是否在执行相同的操作。已编辑以包含交叉连接cte。这是一个非常有用的查询。最好的方法!只要确保您有newline CRLF visible enabledUhm,这个支持吗?我想不是。你也应该包括CHAR(0)[NUL]。仅供参考-这不适用于NVARCHAR字段<代码>选择DATALENGTH(N'MyTextData')作为二进制长度,选择LEN(N'MyTextData')作为文本长度
select myfield, CAST(myfield as varbinary(max)) ...
;WITH cte AS
(
SELECT 0 AS CharCode
UNION ALL
SELECT CharCode + 1 FROM cte WHERE CharCode <31
)
SELECT
*
FROM
mytable T
cross join cte
WHERE
EXISTS (SELECT *
FROM mytable Tx
WHERE Tx.PKCol = T.PKCol
AND
Tx.MyField LIKE '%' + CHAR(cte.CharCode) + '%'
)
SELECT dbo.ShowWhiteSpace(myfield) from mytable
CREATE FUNCTION dbo.ShowWhiteSpace (@str varchar(8000))
RETURNS varchar(8000)
AS
BEGIN
DECLARE @ShowWhiteSpace varchar(8000);
SET @ShowWhiteSpace = @str
SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(32), '[?]')
SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(13), '[CR]')
SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(10), '[LF]')
SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(9), '[TAB]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(1), '[SOH]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(2), '[STX]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(3), '[ETX]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(4), '[EOT]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(5), '[ENQ]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(6), '[ACK]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(7), '[BEL]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(8), '[BS]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(11), '[VT]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(12), '[FF]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(14), '[SO]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(15), '[SI]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(16), '[DLE]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(17), '[DC1]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(18), '[DC2]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(19), '[DC3]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(20), '[DC4]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(21), '[NAK]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(22), '[SYN]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(23), '[ETB]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(24), '[CAN]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(25), '[EM]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(26), '[SUB]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(27), '[ESC]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(28), '[FS]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(29), '[GS]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(30), '[RS]')
-- SET @ShowWhiteSpace = REPLACE( @ShowWhiteSpace, CHAR(31), '[US]')
RETURN(@ShowWhiteSpace)
END
SELECT DATALENGTH('MyTextData ') AS BinaryLength, LEN('MyTextData ') AS TextLength
SELECT *
FROM tblA
WHERE DATALENGTH(MyTextField) > LEN(MyTextField)