如何检查字符串是否仅包含SQL中的小写字符和数字

发布于 2025-02-01 11:46:30 字数 212 浏览 1 评论 0原文

如何检查字符串是否仅包含小写字符,数字和SQL

IM中的符号“@”。

ALTER TABLE TABLE1
    ADD CONSTRAINT c1
        CHECK (
            (R1 like '%[abcdefghijklmnobqrstuvwxyz@1234567890]%')
            );

How to check if the string contains just lowercase characters, numbers and the symbol "@" in SQL

Im trying something like this:

ALTER TABLE TABLE1
    ADD CONSTRAINT c1
        CHECK (
            (R1 like '%[abcdefghijklmnobqrstuvwxyz@1234567890]%')
            );

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

万人眼中万个我 2025-02-08 11:46:30

您应该将检查约束列为“列不是具有 小写,数字或@符号:

ALTER TABLE TABLE1
ADD CONSTRAINT c1
    CHECK (NOT REGEXP_LIKE(R1, '[^abcdefghijklmnobqrstuvwxyz@1234567890]'));

You should phrase the check constraint as the column not having any characters which are not lowercase, numbers, or the @ symbol:

ALTER TABLE TABLE1
ADD CONSTRAINT c1
    CHECK (NOT REGEXP_LIKE(R1, '[^abcdefghijklmnobqrstuvwxyz@1234567890]'));
听风吹 2025-02-08 11:46:30

尝试以下操作:

SELECT 
  S
, '>' || TRANSLATE (S, '*', ' abcdefghijklmnobqrstuvwxyz@1234567890') || '<' AS TRANSLATED
, CASE TRANSLATE (S, '*', ' abcdefghijklmnobqrstuvwxyz@1234567890') 
    WHEN '' THEN 'YES'
    ELSE 'NO'
  END AS RES
FROM (VALUES ' abc', 'abc@123', 'Abc') T (S)
s翻译的res
abc&gt;*&lt;没有
ABC@123&gt; &lt;是的
ABC&gt; a&lt;

Try this:

SELECT 
  S
, '>' || TRANSLATE (S, '*', ' abcdefghijklmnobqrstuvwxyz@1234567890') || '<' AS TRANSLATED
, CASE TRANSLATE (S, '*', ' abcdefghijklmnobqrstuvwxyz@1234567890') 
    WHEN '' THEN 'YES'
    ELSE 'NO'
  END AS RES
FROM (VALUES ' abc', 'abc@123', 'Abc') T (S)
STRANSLATEDRES
abc>* <NO
abc@123> <YES
Abc>A <NO
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文