在检查Web上的一些代码和SQL Server Management Studio生成的脚本时,我注意到某些语句以分号结束.
那么什么时候应该使用它?
你怎么能删除字符串中不是字母的所有字符?
那么非字母数字呢?
这是必须是自定义功能还是还有更通用的解决方案?
sql-server parsing alphanumeric user-defined-functions alphabetic
我已经看到了许多不同的方法来创建和填充数字表.但是,创建和填充一个的最佳方法是什么?从最重要到最不重要的"最佳"被定义:
如果你不知道数字表是什么,请看这里:我为什么要考虑使用辅助数字表?
我有一个有几千行的表.描述和摘要字段是NTEXT,有时其中包含非ASCII字符.如何找到所有非ASCII字符的行?
在我的数据库中,我有这个char .我想用查询找到它们
Select *
from Sometable
where somecolumn like '%?%'
Run Code Online (Sandbox Code Playgroud)
这让我没有结果.
我认为这是ANSI编码
我一直在看这个代码,下面转载,寻找非ASCII字符......
select line,
patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line) as [Position],
substring(Line, patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line), 1) as [InvalidCharacter],
ascii(substring(line, patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line), 1)) as [ASCIICode]
from staging.APARMRE1
where patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line) > 0
Run Code Online (Sandbox Code Playgroud)
我只想告诉我,我想要声明一个变量,'%[^ !-~]%' COLLATE Latin1_General_BIN而不是每次都写出来,但是
declare @regex varchar(20) = '%[^ !-~]%' COLLATE Latin1_General_BIN;
select line,
patindex(@regex, Line) as [Position],
substring(Line, patindex(@regex, Line), 1) as [InvalidCharacter],
ascii(substring(line, patindex(@regex, Line), 1)) as [ASCIICode]
from staging.APARMRE1
where patindex(@regex, Line) > 0
Run Code Online (Sandbox Code Playgroud)
只是不做同样的事情.我只是缺少一些语法?这不可能吗?
我正在寻找一种方法来确定列是否包含任何非ASCII数据,以便我无法将其从nVarChar转换为varChar.
理想情况下,我想在T-SQL中执行此操作.