当前位置: 首页 > 面试题库 >

在T-SQL LIKE条件下重复字符

常自强
2023-03-14
问题内容

问题:
VARCHAR变量(或列)的值限制为数字和ASCI字符,但允许变量长度。
该脚本不会产生所需的结果:

declare @var as VARCHAR (150)
select @var = '123ABC'

if (@var LIKE '[a-zA-Z0-9]{0,150}')
    print 'OK'
else
    print 'Not OK'

有人知道该怎么做吗?


问题答案:

您可以使用not克拉^和一个NOT LIKE表达式来执行此操作。

因此,您说,这里不像非字母数字;)这适用于标准数字和字符:

declare @var as VARCHAR (150)
select @var = '123ABC'

if (@var NOT LIKE '%[^a-zA-Z0-9]%')
    print 'OK'
else
    print 'Not OK'

编辑:感谢Martin的排序规则提示,如果您希望像媒体这样的字符被视为非字母数字,请在COLLATE中添加如下

declare @var as VARCHAR (150)
select @var = '123ABC媒'

if (@var NOT LIKE '%[^a-zA-Z0-9]%' COLLATE Latin1_General_BIN ) 
    print 'OK'
else
    print 'Not OK'


 类似资料:
  • 问题内容: 拥有5列地址数据。我需要将这些字段连接到一个地址中,如果它们之间存在空格,则它们之间应有空格。如果该列的值为空,则应跳过该列,不要输入任何空格。 我想做的是有一个变量,并将其分配给第一列street_number的值,然后当我移至下一列street_ext时,如果它不为null,我想检查一下是否该变量为null,如果不是,则在其后附加一个空格和值…以此类推。 我很生疏,可能会朝正确的方

  • 我有以下代码行: 我想使用: 但我有编译时异常。

  • 我有一个数据帧,我想删除a列等于蓝色,B列等于绿色的所有行。 我认为下面的应该工作,但事实并非如此。 有人看到问题了吗

  • 在我的JavaFX应用程序中,我在树形视图中使用复选框来更改节点的可见性。 选中复选框=一些节点可见 取消选中复选框=一些节点是不可见的 但是,在特殊情况下,应提示用户确认其选择,因为激活特定复选框时可能会出现问题。将打开一个对话框窗口,用户可以在其中选择“是”和“否”。如果用户选择“是”,节点将可见,一切正常。但如果用户选择“否”,则应再次取消选中该复选框。 我的想法是检查中的条件(在本例中,在

  • 我最近在CodeWars中遇到了这个问题 给定一个数字串,您应该用“0”替换5以下的任何数字,用“1”替换5及以上的任何数字。返回结果字符串。注意:输入永远不会是空字符串 我来自 Python 背景,我们可以使用 if 语句进行索引来解决这个特定问题,如下所示: 但当我尝试在Swift中使用索引(如Python风格)时,我失败了……经过一段时间的研究,我发现了这个方法:<code>String。r

  • 我想我可以做一些 但结果是语法不正确