27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 689
1

Запрос на выборку (регистронезависимость имен)

23.04.2016, 23:39. Показов 1672. Ответов 6
Метки нет (Все метки)

Версия 9.5, если это важно. Запросы почему-то работают только если имена таблиц и полей указывать в двойных кавычках, как это отключить чтобы можно было писать без кавычек?

Нужно найти все строки в таблице, в которой значение в указанной колонке имеет частичное совпадение с искомой строкой. Как это сделать?

Добавлено через 20 часов 43 минуты
Помогите разобраться почему он всё в кавычках только воспринимает, без кавычек ничё не работает

Так работает:
SQL
1
SELECT * FROM "Tab" WHERE "Col" = 'Text';
А так нет:
SQL
1
SELECT * FROM Tab WHERE Col = 'Text';
И как сделать поиск значения в строке таблицы по подстоке, например, найти строку с значением 'Text' по подстроке 'x'?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2016, 23:39
Ответы с готовыми решениями:

Напишите запрос, который выполняет выборку имен всех учащихся, имеющих по предмету с идентификатором 33
Напишите запрос, который выполняет выборку имен всех учащихся, имеющих по предмету с...

Если нужно сделать запрос на добавление, зачем предварительно делать запрос на выборку?
Есть таблица: ID_записи, поле1, поле2, поле3. Хотелось бы записать запрос на добавление записи с...

Регистронезависимость/поиск по листбоксу
Сделал поиск по listbox'у, как теперь сделать регистро независимость ? procedure...

Запрос на выборку
Привет всем! Как сделать из такого: ID №договора Фамилия Деньги ...

6
1137 / 883 / 350
Регистрация: 02.09.2012
Сообщений: 2,706
24.04.2016, 02:19 2
без кавычек регистр символа не имеет значения, поэтому таблица tab естественно не найдена. или создавайте таблицы без кавычек, либо везде их используйте. Написано здесь.

Работа с подстроками : функция substring
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 689
24.04.2016, 02:53  [ТС] 3
SQL
1
SELECT * FROM "Tab" WHERE "Col" LIKE '%substr%';
Цитата Сообщение от grgdvo Посмотреть сообщение
без кавычек регистр символа не имеет значения, поэтому таблица tab естественно не найдена
я не понимаю, даже если я пишу с соблюдением регистра выскакивает этот кояк, без кавычек вообще ниразу не работает хоть как пиши, на др компе без кавычек работает, а на моём компе - нет.

Цитата Сообщение от grgdvo Посмотреть сообщение
Написано здесь.
а на русском нету книжки для начинающих?

Добавлено через 26 минут
Переведённая документация:
https://postgrespro.ru/doc

grgdvo, без кавычек всё без разбора в нижний регистр переделывается? просто мне только результат работы показывали, что без кавычек работает, а как было сделано я не видел.
0
1137 / 883 / 350
Регистрация: 02.09.2012
Сообщений: 2,706
24.04.2016, 15:54 4
про переделывается сложно сказать. кто-как. из консоли psql да, будет переведено в нижний регистр. pgadmin в кавычках берет, если написано с заглавной буквы.

Добавлено через 43 секунды
с русской документацией туговато! лучше, если вы будете читать по английски - пригодится!
1
Модератор
4140 / 2982 / 567
Регистрация: 21.01.2011
Сообщений: 12,956
25.04.2016, 09:55 5
Цитата Сообщение от Ваю Посмотреть сообщение
без кавычек всё без разбора в нижний регистр переделывается
Здесь кое-что писал
Не видит поле
0
27 / 27 / 9
Регистрация: 21.04.2015
Сообщений: 689
25.04.2016, 13:14  [ТС] 6
Цитата Сообщение от Grossmeister Посмотреть сообщение
С PostgreSQL никогда не работал, поэтому расскажу на примере Oracle.
Если при создании таблицы указывается название колонки БЕЗ кавычек, то потом в запросах это название можно писать на любом регистре. Если указывается наименование в кавычках, то далее во всех запросах нужно указывать эту колонку тоже в кавычках, причем соблюдая точно такое же написание, какое указано при создании. Именно поэтому в подавляющем большинстве случаев в CREATE TABLE указывают колонки без кавычек.
Тут скорее наоборот, если писать имена таблиц с большой буквы потом нужны кавычки
0
Модератор
4140 / 2982 / 567
Регистрация: 21.01.2011
Сообщений: 12,956
25.04.2016, 13:23 7
Цитата Сообщение от Ваю Посмотреть сообщение
Тут скорее наоборот
Я написал так, как есть в Oracle. Там все имена внутри хранятся на верхнем регистре. Но если указал в кавычках, то будет храниться так, как было задано изначально. Скорее всего, надо найти системные таблицы/представления, хранящие имена таблиц и колонок и посмотреть, как там.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2016, 13:23
Помогаю со студенческими работами здесь

Запрос на выборку
Доброе утро, нужно создать запрос на выборку с БД записей с введением определенного параметра,...

Запрос на выборку
Доброго времени суток. Помогите, пожалуйста, есть бд - необходимо для каждого рабочего центра...

Запрос на выборку
Народ нужна ваша помощь!) Есть главная форма на ней я заполняю наряд на работы при нажатии на...

Запрос на выборку
Всем привет, такая проблема, как сделать чтобы при нажатии на кнопку "выставить оценки" выходило...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru