Witam,
Mam pytanie co do komendy dot. długości znaków w SSMS.
Telefon CHAR(12) NOT NULL
Może ktoś pomóc jak napisać właściwy CHECK LENGHT, by nr telefonu mógł mieć maks. 12 znaków?
Witam,
Mam pytanie co do komendy dot. długości znaków w SSMS.
Telefon CHAR(12) NOT NULL
Może ktoś pomóc jak napisać właściwy CHECK LENGHT, by nr telefonu mógł mieć maks. 12 znaków?
Próbuję z tym
Telefon VARCHAR(12) CHECK(LENGTH(Telefon)<=12) NOT NULL,
I otrzymuję
Msg 195, Level 15, State 10, Line 31
'length' is not a recognized built-in function name.
Bo w mssql jest LEN
skoro pole char/varchar ma długość 12 to nigdy jej nie przekroczy, co Ty chcesz sprawdzać?
Interesuję mnie ogólnie ta składnia, nie konkretny przykład ;)
Po zmienieniu LENGTH na LEN pojawia się ten sam błąd...
ok,
CREATE TABLE dbo.Table_1
(
telefon varchar(12) NOT NULL
)
GO
ALTER TABLE dbo.Table_1 ADD CONSTRAINT
CK_Table_1 CHECK (LEN(telefon)<=12)
GO
Tu jednak jak dodasz wartosc o 13 znakach to constraint nie zadziała, bo dostaniesz komunikat o tym, że string jest za długi
Można też tak:
CREATE TABLE dbo.Table_1
(
telefon VARCHAR(12) NOT NULL CHECK (LEN(telefon)<=5)
)
GO
Dziękuję za odp, wszystko już działa ;)