sql - SQL Server查询以检查日期是否具有相同的数字
问题描述
用于验证日期列是否都是相同数字的 case 语句(即 1s、2s 等)
DECLARE @opendate varchar
SET opendate = '11111111'
SELECT
CASE
WHEN opendate LIKE '^([0-9a-z])\1+$')
THEN 'invalid'
END AS date
解决方案
利用
declare @opendate varchar(50)
set @opendate = '11111111111'
select @opendate, case when patindex('%[^'+left(@opendate,1)+']%',@opendate) = 0 then 'valid' else 'invalid' end
db<>fiddle中的演示
推荐阅读
- python - 如何防止这个循环中断?
- angularjs - AngularJS:ng-view 指令不起作用
- java - Java - Swing UI 分离套接字逻辑
- wordpress - 使用 UnderStrap WordPress 主题时,如何在 gulp build 中包含 npm 插件?
- c - 重定位向量表的 C 代码
- kubernetes - 如何在 Kubernetes 中的容器之间共享源自容器的目录?
- php - 在 netbeans 中将搜索到的文本替换为附加文本
- dart - 为什么 `if (var = null)` 在 dart 中编译?
- android - 服务错误“...没有零参数构造函数”
- php - 数据库迁移 (MYSQL)