Поскольку нужно запросить некоторые данные в базе данных, содержимое поля может содержать только китайские иероглифы, буквы и цифры, и не может содержать специальные символы (кроме специальных данных). Давайте сначала рассмотрим эффекты:
Ресурсы:
Как SQL в базе данных запрашивает поле только с числами и буквами или китайскими иероглифами
- Содержит только цифры и буквы
Выберите название столбца из названия таблицы, где REGEXP_LIKE(Название столбца,'^([\u4E00-\u9fa5]+)$')
--Содержит только китайские иероглифы
выберите название столбца из названия таблицы, где length(название столбца)=length(ASCIISTR(название столбца))-length(replace(ASCIISTR(название столбца),'\',''))
Примечание: функция asciistr() преобразует строку в ASCII-значение, и если символ находится в ASCII-кодовой таблице, он будет преобразован в соответствующий символ ASCII; Если их нет, например, китайские и полноразмерные иероглифы, он будет конвертирован в формат \xxxx.
Функция length() считает, что китайская длина равна 1, а китайский иероглиф, соответствующий длине b(), — 2 байта. Приведённое выше утверждение заключается в сравнении числа китайских иероглифов с числом \ после преобразования в ASCII-значения, если они равны, значит, все иероглифы являются китайскими иероглифами. (Если вы хотите исключить влияние символов полной ширины, сначала нужно изменить поле на половинную ширину, и функция будет to_single_byte()).
SQL Server2008R2 ищет первую позицию, где встречаются некитайские буквенно-цифровые числа
Окружающая среда: Тестовая база данных sqlserver2008r2 имеет метод сортировки Chinese_PRC_CI_AS, и я не пробовал его в других условиях Утверждение
Возвратное значение: 4
Моё решение
(Конец)
|