Bog*_*nov 5 t-sql sql-server sql-server-2012
是否可以LIKE使用一个字符编号或空字符串?
我知道这听起来很愚蠢,我几乎肯定不能这样做,但我会问.
我有一个字段,我将在其中编写LIKE子句(作为字符串).我将与表达以后将其应用于WHERE条款:... LIKE tableX.FormatField ....它必须包含数字(单个字符或空字符串).
有点像[0-9 ].方括号内的空格键表示空字符串.
编辑:
我想我解释得不好.我有一个表,我有一个参数配置 - TblParam与字段DataFormat.我必须TblValue使用字段验证另一个表中的值ValueToCheck.验证由查询完成.验证的部分如下所示:
... WHERE TblValue.ValueToCheck LIKE TblParam.DataFormat ...
对于配置值,我需要表达1个数字字符或空字符串.有点像[0-9''].由于检查的自动性,我需要单个表达式(没有ANDOR OR运算符),它可以适合查询(参见上面的示例).相同的检查对其他类型的检查有效,所以我必须适合我的检查引擎.
我几乎可以肯定我不能使用,[0-9'']但我问其他人是否有其他合适的解决方案.
实际上我很难验证版本字符串:1.0.1.2或1.0.2.它可以包含2-3个点(.)和数字.
我很确定这是不可能的,因为 '' 甚至不是一个字符。
选择ascii(''); 返回null。
''='';是真的
'' 一片空白; 是假的
如果你想要精确的 0-9 '' (而不是 ' '),那么你可以这样做(以比like更有效的方式):
where col in ('1','2','3','4','5','6','7','9','0') or (col = '' and DATALENGTH(col) = 0)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
822 次 |
| 最近记录: |