powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как оределить: есть ли колонка с таким именем в таблице?
4 сообщений из 4, страница 1 из 1
Как оределить: есть ли колонка с таким именем в таблице?
    #39755847
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
drop table test;GO
create table test
(
id int not null identity(0,1),
name nvarchar(128),
History int not null default(0)
);
GO



Хочу переименовать колонку History в history, вопрос: как определить, есть ли в таблице колонка с именем 'History', чтобы переименовывать только когда еще старое имя?
База - AI.
Так дает в любом случае, что существует:

Код: sql
1.
2.
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA='dbo' and TABLE_NAME=N'test' and COLUMN_NAME='History'
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA='dbo' and TABLE_NAME=N'test' and COLUMN_NAME='history'
...
Рейтинг: 0 / 0
Как оределить: есть ли колонка с таким именем в таблице?
    #39755849
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так получается:
Код: sql
1.
2.
select * from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA='dbo' and TABLE_NAME=N'test' 
and COLUMN_NAME='history' COLLATE Latin1_General_CS_AI




но не будет ли проблем, если база имеет какой-нибудь дикий коллейт, не Latin1_General_CS_AI ?
...
Рейтинг: 0 / 0
Как оределить: есть ли колонка с таким именем в таблице?
    #39755864
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
IF COL_LENGTH(N'test',N'History') IS NULL
PRINT 'Поля test.History нет';
...
Рейтинг: 0 / 0
Как оределить: есть ли колонка с таким именем в таблице?
    #39755866
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kесли база имеет какой-нибудь дикий коллейт, не Latin1_General_CS_AI ?Действительно, единственный одомашненный collate - это Latin1_General_CS_AI !
Остальные дикие...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как оределить: есть ли колонка с таким именем в таблице?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]