INITCAP约束返回奇怪的数据

问题描述 投票:0回答:1

我需要制定一个约束,该约束能够检查字符串中的每个单词都以大写字母开头,但是这对我来说是如此困难。我已经尝试了不同的方法,但它们不起作用(我也尝试了INITCAP函数,并且该方法不会使字符串成为“ñ”或acent的原因)。我将举一些例子,让您确切地知道我在寻找什么。

"Pepe Román alvarez" -> NOT
"Pepe Román Álvarez" -> YES
"Pepe Román-alvarez" -> NOT
"Pepe Román-Álvarez" -> YES

我已经尝试过正则表达式(CHECK(NOT REGEXP_LIKE(nombre_director,'(^|\W)[a-z]'))),但是当我尝试插入“ PepeRománÁlvarez”之类的值时,如果可以的话,它不会让它们进入。请你帮助我好吗?这太奇怪了...

[当我说INITCAP不起作用时,我的意思是,例如,当我尝试执行SELECT INITCAP('Ántonio') FROM DUAL;时,它返回¬ntonio,因此这意味着它并没有进行转换。 。

sql regex oracle constraints regexp-like
1个回答
0
投票

检查约束,是-使用initcap

© www.soinside.com 2019 - 2024. All rights reserved.