sql - SQL 查询:如何检查特定记录的字母是否多于数字并返回
问题描述
我正在使用 Microsoft SQL Server 2014。
如果特定记录的字母多于数字,我想在 SQL 查询的帮助下显示结果。
例如:如果一个表有列“CustomerName”并且它的值是“ALeX143ForU”(因为它的字母比数字多),那么查询应该返回那个特定的记录。
解决方案
有点不寻常,但你可以试试下面的逻辑 -
SELECT *
FROM your_table_name
WHERE
-- Below is calculating String LEN only for Alphabet
LEN(
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
your_column_name,'0',''),'1',''),'2',''),'3',''),'4',''),'4',''),'6',''),'7',''),'8',''),'9','')
)
>
-- Calculate LEN for Integer value only
(
-- Full string LEN
LEN(your_column_name) -
-- LEN for only alphabet
LEN(
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
your_column_name,'0',''),'1',''),'2',''),'3',''),'4',''),'4',''),'6',''),'7',''),'8',''),'9','')
)
)
推荐阅读
- github - 在 GitHub 上显示二进制文件的文本差异
- r - 如何为分组折线图设置色调?
- clojure - Clojurescript 第一步的疑惑和问题
- python - 如何将值添加到存储为字典值的列表中?
- python - Jupyter Notebook 的自动完成功能不可用?
- stata - Stata:按 ID 和时间戳附加
- excel - 在 Access 中打开 Excel 文件不会在屏幕上显示文件
- javascript - 从 `webpack.config.js` 中导入 PNG 文件
- java-8 - JVM 标志 -XX:+UnlockExperimentalVMOptions,这是从最新的 JDK8(更新 265)中删除的吗?
- sql - 跨表比较数组