sql - nvarchar 只需要包含英文或格鲁吉亚字母
问题描述
我的约束:
(datalength([Firstname])>=(2) AND datalength([Firstname])<=(50) AND (NOT [Firstname] like '%[^a-zA-Z]%' AND NOT [Firstname] like N'%[^ა-ზ]%'))
怎么了?
解决方案
我对格鲁吉亚名字一无所知,但也许你选择的第一个和最后一个字母不适合你的整理。也许最好的办法是列出所有允许的字符。代替:
N'%[^ა-ზ]%'
也许是这样的:
N'%[^ႠႡႢႣႤႥႦႧႨႩႪႫႬႭႮႯႰႱႲႳႴႵႶႷႸႹႺ'
+N'ႻႼႽႾႿჀჁჂჃჄჅჇჍაბგდევზთიკლმნოპჟრს'
+N'ტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶჷჸჹჺჼჽჾჿⴀⴁⴂⴃⴄⴅ'
+N'ⴆⴇⴈⴉⴊⴋⴌⴍⴎⴏⴐⴑⴒⴓⴔⴕⴖⴗⴘⴙⴚⴛⴜⴝⴞⴟⴠⴡⴢ'
+N'ⴣⴤⴥⴧⴭ]%'
除此之外,请确保所有逻辑运算符AND
's、NOT
's 和OR
's 都是合适的。
您可能需要考虑此限制是否适合您的需要。人类的名字可能比你想象的更多样化。谷歌“ Falsehoods Programmers Believe About Names
”
推荐阅读
- c++ - How to read a text file with number intervals? C++
- python - How to compare a database foreign key value with form foreign key value in Django?
- junit - 模拟单元测试需要但未调用:
- excel - 组合 Excel 函数:匹配和偏移
- ios - 带有日英词典的 UIReferenceLibraryViewController 导致应用程序冻结某些单词
- python - Python RRDTool 更新错误函数 update_pdp_prep,案例 DST_GAUGE - 无法将“”转换为浮点数
- python - 聚合分时数据以开高低收非时间相关
- javascript - 使用 socket.io 和 express,为什么我的 io.on('connection') 方法不起作用
- typescript - 如何在 ionic 3 中转换 base64 数据中的 pdf、xlsx 和 doc 文件?
- sql - 对 Rails ActiveRecord 的 SQL 查询