【问题标题】:SQL CHECK() how to check if input is numeric value?SQL CHECK() 如何检查输入是否为数值?
【发布时间】:2021-12-04 08:41:27
【问题描述】:

嘿,我如何检查输入是否有 5 个数字?我尝试了诸如 isnumeric/LIKE '%[0-9]%' 之类的所有方法,它们都不起作用...

我尝试了以下方法,但它不起作用..请帮助

CREATE TABLE Code ( PIN TEXT NOT NULL, CHECK(LENGTH(title) = 5), CHECK(title LIKE '[0-9][0-9][0-9][0-9][0-9]'));

【问题讨论】:

  • 你在用什么rdbms
  • 我正在使用 sqlite3

标签: sql sqlite check-constraints


【解决方案1】:

你可以使用GLOB操作符:

CREATE TABLE Code ( 
  PIN TEXT NOT NULL,
  title TEXT,
  CHECK(title GLOB '[0-9][0-9][0-9][0-9][0-9]')
);

请参阅demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2021-09-14
    • 2010-11-29
    相关资源
    最近更新 更多