我需要有關 SQL 查詢的幫助,以檢查數字列是否包含按升序或降序排列的數字。
例如。123456 或 654321
這是為了避免人們在客戶電話號碼欄中輸入一些隨機值,要求用戶提供有效的電話號碼輸入。
我想在不使用函式的情況下實作這一點。
uj5u.com熱心網友回復:
檢查它是否像一個數字序列?
然后你可以簡單地使用LIKE
select num , cast(case when '1234567890123456789' like concat('%',num,'%') then 1 when '9876543210987654321' like concat('%',num,'%') then 1 else 0 end as bit) as isSequence from (values (123456), (765432), (797204) ) nums(num)
| 數量 | 是序列 |
|---|---|
| 123456 | 真的 |
| 765432 | 真的 |
| 797204 | 錯誤的 |
或使用 CHARINDEX
select num , cast(case when 0 < charindex(concat(num,''),'1234567890123456789') then 1 when 0 < charindex(concat(num,''),'9876543210987654321') then 1 else 0 end as bit) as isSequence from (values (123456), (765432), (797204) ) nums(num)
關于db<>fiddle 的演示在這里
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/401903.html
標籤:sql-server 查询语句
上一篇:如何計算SQL中每周的變化?
