/********************************************************************************************** -- Title : ´Ù¾çÇÑ Ç¥Çö½Ä »ç¿ë ¿¹(µ¥ÀÌÅÍÇü, ÇÔ¼ö, ±âŸ) -- Reference : À¥°Ë»ö -- Key word : float, datetime, sql_varient, text, ... **********************************************************************************************/ /* ** SQL ºÎµ¿ ¼Ò¼öÁ¡À» »ç¿ë ½Ã ¿øÇÏÁö ¾Ê´Â °á°ú */ Create Table #TestFloat (xNumeric Numeric(7,3) ,xDecimal Decimal(7,3) ,xFloat Float ,xReal Real) GO INSERT #TestFloat VALUES(3,3,3,3) INSERT #TestFloat VALUES(12.3,12.3,12.3,12.3) SELECT * FROM #TestFloat GO UPDATE #TestFloat SET xNumeric = xNumeric/3, xDecimal = xDecimal/3, xFloat = xFloat/3, xReal = xReal/3 SELECT * FROM #TestFloat GO /* --SQL ³¯Â¥ ¹× ½Ã°£ µ¥ÀÌÅÍÇü »ç¿ë */ Create Table #TestDateType (Date1 smalldatetime ,Date2 datetime ,Date3 datetime) INSERT #TestDateType VALUES('1999' ,'1999 SEP' ,'1999-09-09') INSERT #TestDateType VALUES('9/10/1998','1999.09.10' ,'September 10, 1999') INSERT #TestDateType VALUES('19990911' ,'SEP 1999 11','19990911 14:14:14:140') INSERT #TestDateType VALUES('19990912' ,'09-12-1999' ,'1999-09-12 15:15:15:150') INSERT #TestDateType VALUES(GetDate() ,GetDate()+1 ,DateAdd(month,1,GetDate())) SELECT * FROM #TestDateType GO -- À§ÀÇ °á°ú¸¦ º¸¸é ³âµµ¸¸ ´ëÀÔÇÑ °æ¿ì´Â 1¿ù 1ÀÏ·Î ´ëÀÔÀÌ µÇ¸ç ³â¿ù¸¸ ´ëÀÔÇÑ °æ¿ì´Â -- 1ÀÏ·Î ±â·ÏµÈ´Ù. -- ¶Ç, GetDate() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÇöÀç ½Ã°£À» ´ëÀÔÇϰí date µ¥ÀÌÆ®Çü¿¡ +, - ¿¬»êÀ» ¼öÇàÇϸé -- ÀÏ ´ÜÀ§¸¦ ±âÁØÀ¸·Î °è»êÇÏ°Ô µÈ´Ù. /* ** SQL Sql_variant µ¥ÀÌÅÍÇüÀÇ »ç¿ë */ CREATE TABLE Objects (ObjectID int PRIMARY KEY IDENTITY, ObjectName nvarchar(80) ) CREATE TABLE ObjectsProperty (ObjectID int REFERENCES Objects(ObjectID), PropertyName nvarchar(100), PropertyValue sql_variant, CONSTRAINT PK_ObjectsProperty PRIMARY KEY(ObjectID, PropertyName) ) DECLARE @ObjectID int INSERT Objects VALUES('Ã¥') SET @ObjectID = @@IDENTITY INSERT ObjectsProperty VALUES(@ObjectID,'ÀúÀÚ','¿ìö¿õ') INSERT ObjectsProperty VALUES(@ObjectID,'ÃâÆÇ»ç','´ë¸²') INSERT ObjectsProperty VALUES(@ObjectID,'ÆÇ¸Å°¡',15000) INSERT Objects VALUES('Çʱⱸ') SET @ObjectID = @@IDENTITY INSERT ObjectsProperty VALUES(@ObjectID,'±¸ºÐ','¼ö¼º') INSERT ObjectsProperty VALUES(@ObjectID,'»ö»ó','ÆÄ¶û') INSERT ObjectsProperty VALUES(@ObjectID,'±½±â',0.5) SELECT * FROM Objects, ObjectsProperty WHERE Objects.ObjectID = ObjectsProperty.ObjectID /* ** SQL table µ¥ÀÌÅÍÇüÀÇ »ç¿ë */ DECLARE @TableVar TABLE (ID int PRIMARY KEY, Name char(10)) INSERT INTO @TableVar VALUES (1, '±Ç¹Ì¼÷') INSERT INTO @TableVar VALUES (2, '±Ç¿µ¾Æ') SELECT * FROM @TableVar UPDATE @TableVar SET Name = '±Ç¹Ì´Þ' WHERE ID =1 SELECT * FROM @TableVar DELETE @TableVar WHERE ID = 1 SELECT * FROM @TableVar GO /* ** SQL Uniqueidentifier µ¥ÀÌÅÍÇüÀÇ »ç¿ë */ CREATE TABLE MyUniqueTable (UniqueID UNIQUEIDENTIFIER DEFAULT NEWID(), Characters char(10)) GO INSERT INTO MyUniqueTable(Characters) VALUES ('abc') INSERT INTO MyUniqueTable VALUES (NEWID(), 'def') GO /* ** SQL Timestamp µ¥ÀÌÅÍÇüÀÇ »ç¿ë */ Create Table TestTimeStamp1 (ID int PRIMARY KEY IDENTITY, TimeStamp Timestamp) Create Table TestTimeStamp2 (ID int PRIMARY KEY IDENTITY, WorkUser Char(10), WorkDatetime Datetime DEFAULT GETDATE(), TimeStamp Timestamp) INSERT TestTimeStamp2(WorkUser) Values('¿ìö¿õ') INSERT TestTimeStamp2(WorkUser) SELECT WorkUser FROM TestTimeStamp2 INSERT TestTimeStamp2(WorkUser) SELECT WorkUser FROM TestTimeStamp2 INSERT TestTimeStamp1 DEFAULT VALUES INSERT TestTimeStamp2(WorkUser) SELECT WorkUser FROM TestTimeStamp2 SELECT * FROM TestTimeStamp1 SELECT * FROM TestTimeStamp2 GO /* ** SQL text µ¥ÀÌÅÍÇü¿¡¼­ Áö¿øµÇÁö ¾Ê´Â ÀϺΠ¹®ÀÚ¿­ ÇÔ¼ö¿Í SUBSTRING ÇÔ¼ö »ç¿ë ½Ã ¹®Á¦ */ CREATE TABLE TestText1 (xChar varchar(500), xText text) INSERT TestText1 VALUES('¿ì¸®´Â ¹ÎÁ· ÁßÈïÀÇ','¿ì¸®´Â ¹ÎÁ· ÁßÈïÀÇ') SELECT LEFT(xChar,4) FROM TestText1 GO SELECT LEFT(xText,4) FROM TestText1 GO SELECT SUBSTRING(xChar,1,1), SUBSTRING(xChar,2,2) FROM TestText1 SELECT SUBSTRING(xText,1,1), SUBSTRING(xText,2,2) FROM TestText1 GO /* ** SQL varchar¿Í text µ¥ÀÌÅÍÇüÀÇ ¸Þ¸ð¸® °ø°£ Â÷ÁöÀÇ ºñ±³ */ USE TempDB GO CREATE TABLE TestVarchar(aa varchar(8000)) CREATE TABLE TestText(aa text) GO DECLARE @i int SET @i =0 WHILE @i <10000 BEGIN INSERT TestText VALUES(replicate('A',100)) INSERT TestVarchar VALUES(replicate('A',100)) SET @i = @i +1 END GO SELECT * FROM TestText SELECT * FROM TestVarchar GO SELECT DB_ID(), OBJECT_ID('TestVarchar'),OBJECT_ID('TestText') GO DBCC MEMUSAGE -- 2000¿¡¼­ ´õÀÌ»ó Áö¿øÇÏÁö ¾Ê°í ¼º´É ¸ð´ÏÅÍ Ä«¿îÅÍ¿¡ ´ëÇÑ ÂüÁ¶·Î º¯°æ ¿äÇÔ. GO /* ** SQL ¹°¸®ÀûÀÎ °ø°£ÀÇ »ç¿ëÀ» »ìÆìº¸¸é text µ¥ÀÌÅÍÇüÀÌ 2¹è Á¤µµ ¸¹ÀÌ »ç¿ëÇÏ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. */ exec sp_spaceused TestVarchar exec sp_spaceused TestText GO /* ** SQL ¼ýÀÚÇüÀÇ ¹¬½ÃÀûÀÎ Çü º¯È¯ */ SELECT 4/3, 4/3.0 GO /* ** SQL ¼ýÀÚÇü ¹®ÀÚ¿Í ¼ýÀÚÀÇ ¿¬»ê¿¡¼­ ¼ýÀÚÇü ¹®ÀÚ´Â ¼ýÀÚ·Î Çü º¯È¯µÇ¸ç ** & ´Â Bitwise AND ¿¬»êÀÚÀ̹ǷΠºñÆ®¿¬»ê ¿Ü¿¡´Â »ç¿ëÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. */ SELECT '1' + 2, '1' & 2, '1' + '2' GO -- SQL NULL°úÀÇ ¿¬»êÀº Ç×»ó NULLÀÌ´Ù. SELECT '1' + NULL, 1 + NULL, 'A' + NULL GO /* ** SQL ¹®ÀÚ¿­ÀÌ ¼ýÀÚ ¹®ÀÚ¿­ÀÌ ¾Æ´Ñ °æ¿ì ¿¡·¯ ¹ß»ý */ SELECT 'A' + 1 GO /* ** SQL ¹®ÀÚÇü ¹®ÀÚ¿Í ¼ýÀÚÀÇ ¿¬»ê¿¡¼­´Â ¼ýÀÚ¸¦ ¸ÕÀú ¹®ÀÚ·Î ¹Ù²Ù´Â ÀÛ¾÷À» ÇØ¾ß ÇÑ´Ù. */ SELECT 'A' + CONVERT(varchar(10),1) , 'A' + STR(1) GO /* ** SQL CAST¿Í CONVERT ÇÔ¼öÀÇ »ç¿ë */ SELECT CAST(11.11 AS char(20)), CONVERT(varchar(20), 11.11) ,CAST(GetDate() AS char(20)), CONVERT(varchar(20), GetDate()) ,CAST('1234' AS int ), CONVERT(smallint , '1234') GO /* ** SQL CONVERT ÇÔ¼öÀÇ »ç¿ë */ SELECT CONVERT(varchar(8), GetDate(),112), CONVERT(varchar(10), GetDate(),101) ,CONVERT(smalldatetime, '20000505'), CONVERT(smalldatetime, '05/05/2000',101) GO /* ** SQL ÁöÁ¤ÇÑ ÀÚ¸´¼ö¸¦ ³Ñ´Â º¯È¯¿¡ ´ëÇØ¼­´Â * ¹®ÀڷΠǥÇöµÈ´Ù. */ SELECT STR(3), STR(123.45, 6, 1), STR(1234567.89, 6, 2) GO /* ** SQL CAST¿Í CONVERTÀÇ »ç¿ë */ USE pubs GO SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM titles WHERE CAST(ytd_sales AS char(20)) LIKE '3%' GO SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM titles WHERE CONVERT(char(20), ytd_sales) LIKE '3%' GO /* ** SQL CASTÀÇ »ê¼ú ¿¬»ê */ SELECT CAST(ROUND(ytd_sales/price, 0) AS int) AS 'Copies' FROM titles WHERE CAST(ROUND(ytd_sales/price, 0) AS int)>300 GO /* ** SQL CAST·Î ¹®ÀÚÇü ¹Ù²Û ÈÄ ¹®ÀÚ¿¬°á */ SELECT 'The price is ' + CAST(price AS varchar(12)) FROM titles WHERE price > 20.00 GO /* ** SQL Àý»ó, Àý»è¿¡ ´ëÇÑ »ç¿ë ¿¹ */ SELECT CEILING(11.55), CEILING(11.11), FLOOR(11.11), FLOOR(11.55) GO /* ** SQL ÁöÁ¤µÈ ±æÀÌ·Î ¹Ý¿Ã¸² */ SELECT ROUND(11.22, 1), ROUND(1111.2, -2), SQUARE(5), SQRT(25) GO /* ** SQL 0 °ú 100 »çÀÌÀÇ ³­¼öÇ¥ ¹ß»ý */ SELECT CONVERT(int, (RAND() *100)) GO /* ** SQL LOWER, UPPER, REPLICATE, SPACE ÇÔ¼ö »ç¿ë */ SELECT LOWER('Test'), UPPER('Test'), REPLICATE('OK',4), '´ëÇÑ' + SPACE(5) + '¹Î±¹' GO /* ** SQL ÇѱÛ, ¿µ¹® ±¸ºÐ ¾øÀÌ ¹®ÀÚ¼ö·Î °è»êÇÔÀ¸·Î ÁÖÀÇÇÒ Çʿ䰡 ÀÖ´Ù. */ SELECT LEFT(LTRIM(' Korea '), 2), SUBSTRING('Korea', 3, 1), RIGHT(RTRIM(' Korea '), 2) GO /* ** SQL ´ëºÎºÐÀÇ ¹®ÀÚ ÇÔ¼ö´Â ÇѱÛ, ¿µ¹® ±¸ºÐ ¾øÀÌ ¹®ÀÚ¼ö·Î °è»êÇÔÀ¸·Î ÁÖÀÇÇÒ Çʿ䰡 ÀÖ´Ù. */ SELECT LEFT('Çѱ¹_Korea', 4), SUBSTRING('Çѱ¹_Korea', 2, 3), RIGHT('Korea_Çѱ¹', 4) GO /* ** SQL ¹®ÀÚ ¿­ ´ëÄ¡ */ SELECT REPLACE('´ëÇѹα¹¸¸¼¼', '¹Î±¹', '±¹¹Î' ), STUFF('´ëÇѹÎXX±¹¸¸¼¼', 3, 4, '±¹¹Î') GO /* * SQL LENÀº ¹®ÀÚ ¼ö¸¦ DATALENGTH´Â ¹ÙÀÌÆ® ¼ö¸¦ ¹ÝȯÇÑ´Ù. */ SELECT LEN('korea'), LEN('´ëÇÑ'), DATALENGTH('´ëÇÑ'), DATALENGTH('Korea´ëÇÑ') GO /* ** SQL SOUNDEX, DIFFERENCE´Â Çѱۿ¡ ´ëÇØ ó¸®ÇÏÁö ¸øÇÑ´Ù. SOUNDEX´Â SOUNDEX ÄÚµå ¹Ýȯ */ SELECT SOUNDEX('mouth'),SOUNDEX('ÀÔ') GO /* ** SQL DIFFERENCEÀÇ »ç¿ë, ÀÏÄ¡µµ°¡ ³ôÀ¸¸é 4, ³·À¸¸é 0, Çѱۿ¡ ´ëÇØ Áö¿ø ¾ÈµÊ */ SELECT DIFFERENCE('can','con'), DIFFERENCE('can','can'), DIFFERENCE('Çü»ó','¹®ÀÚ') GO /* ** SQL CHARINDEX¿Í PATINDEX »ç¿ë */ USE pubs GO SELECT CHARINDEX('com', title),PATINDEX('%com%',title),title FROM titles WHERE title_id LIKE 'B%' Go /* ** SQL PATINDEXÀÇ ÆÐÅÏ ±¸¹® »ç¿ë */ SELECT PATINDEX('%c[a-k]n%',notes),LEFT(notes,60) FROM titles WHERE title_id LIKE 'B%' GO /* ** SQL ³¯Â¥¸¦ ´õÇÑ´Ù. 0.5¸é 12½Ã°£À¸·Î ȯ»êµÈ´Ù. */ SELECT GETDATE(), GETDATE()-1, GETDATE()+0.5 GO /* ** SQL @@NOCOUNT ÇÔ¼ö·Î ¸¶Áö¸· Àû¿ëµÈ Çà ¼ö¸¦ ÆÄ¾ÇÇÏ¿© ´ÙÀ½ ±¸¹®¿¡¼­ ó¸®ÇÑ´Ù. */ UPDATE Pubs.dbo.authors SET au_lname = 'Jones' WHERE au_id = '999-888-7777' IF @@ROWCOUNT = 0 RAISERROR ('¼öÁ¤¿¡ ÇØ´çÇÏ´Â ÀÚ·á°¡ ¾ø½À´Ï´Ù.',16,1) GO /* ** SQL @@Error·Î ¸¶Áö¸· ÀÛ¾÷ÀÇ ¿¡·¯ ¹øÈ£¸¦ Á¶È¸ÇÏ¿© ´ÙÀ½ ±¸¹®¿¡¼­ »ç¿ëÇÑ´Ù. */ UPDATE Pubs.dbo.authors SET au_id = '172 32 1176' WHERE au_id = '172-32-1176' IF @@Error <> 0 SELECT au_id, au_lname, au_fname FROM Pubs.dbo.authors GO /* ** SQL @@TRANCOUNT ÇÔ¼ö·Î Áßø Æ®·£Àè¼ÇÀÇ ¼ö¸¦ ÆÄ¾ÇÇÏ¿© ÀÛ¾÷ÇÑ´Ù. */ BEGIN TRANSACTION UPDATE Pubs.dbo.authors SET au_lname = UPPER(au_lname) WHERE au_lname = 'White' SELECT @@TranCount BEGIN TRANSACTION UPDATE Pubs.dbo.authors SET au_lname = LOWER(au_lname) WHERE au_lname = 'White' SELECT @@TranCount /* ** SQL ISDATE, ISNUMERIC ÇÔ¼öÀÇ »ç¿ë */ SELECT ISDATE('1999-9-9'), ISDATE('2000-20-22') , ISDATE('20001001') SELECT ISNUMERIC(55), ISNUMERIC('55'), ISNUMERIC('5A') GO /* -- SQL ISNULL ÇÔ¼öÀÇ »ç¿ë, °¡´ÉÇÑ NullÀÌ ÀԷµÇÁö ¾Êµµ·Ï ±âº»°ªÀ» ¼³Á¤Çϸç, -- ÀÌ¹Ì µé¾î°£ °æ¿ì¿¡ ´ëÄ¡ÇÏ¿© Á¶È¸ÇÒ ¼ö ÀÖ´Ù. -- Null µ¥ÀÌÅʹ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ ±¸Çö ½Ã ¸Å¹ø NullÀÎÁö È®ÀÎÇØ¾ß Çϱ⠶§¹®ÀÌ´Ù. */ SELECT ISNULL(NULL,'A'),ISNULL(3,'A') SELECT title_id,ISNULL(price,0),ISNULL(notes,'No Comment') FROM Pubs.dbo.titles GO /* ** SQL NULLIF ÇÔ¼ö, ºñ±³ µÎ °ªÀÌ °°À¸¸é NULLÀ» ¹Ýȯ, ¾Æ´Ï¸é ù¹øÂ° °ªÀ» ¹Ýȯ */ SELECT NULLIF(10,10), NULLIF('AA','AA'), NULLIF(10, 20) GO /* -- SQL CURRENT_TIMESTAMP¿Í GETDATE()´Â °°À¸¸ç @@DBTS´Â timestamp µ¥ÀÌÅÍÇü¿¡ »ç¿ëÇÑ ¸¶Áö¸· °ªÀÌ´Ù. -- USER_NAME(1)Àº 1¹ø ÇÁ·Î¼¼½º IDÀÇ »ç¿ëÀÚ¸íÀÌ´Ù. */ SELECT APP_NAME(), CURRENT_TIMESTAMP, GETDATE(), @@DBTS SELECT HOST_ID(), SESSION_USER, USER_NAME(1), SYSTEM_USER GO /* -- SQL µ¥ÀÌÅÍ¿Í µ¥ÀÌÅÍ »ó¼¼ °ü°è¿¡¼­ Identity ¼Ó¼ºÀÇ »ç¿ë -- ÁÖÀÇÁ¡Àº @@Identity¿¡ ´ëÇÑ ÂüÁ¶´Â Identity °ªÀÌ ºÎ¿©µÈ ´ÙÀ½¿¡ ´Ù¸¥ ÀÛ¾÷ÀÌ ¼öÇàµÇ¸é »ç¶óÁö±â -- ¶§¹®¿¡ ÇѹøÀÇ »ç¿ë¿¡ ´ëÇØ¼­´Â Á÷Á¢ @@Identity¸¦ »ç¿ëÇÏ¿©µµ µÇÁö¸¸ ¿©·¯ ¹ø »ç¿ëÇÒ °æ¿ì¿¡´Â -- º¯¼ö¿¡ ´ëÀÔÇÏ¿© »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. */ Use TempDB GO CREATE TABLE InHeads (SlipNo int PRIMARY KEY IDENTITY(1000,1), Date smalldatetime, CustomerID int ) CREATE TABLE InDetails (SlipNo int REFERENCES InHeads(SlipNo), Seq int, ProductID char(5), Price money, Qty int, CONSTRAINT PK_InDetials PRIMARY KEY(SlipNO, Seq) ) GO DECLARE @SlipNo int INSERT InHeads VALUES(Convert(char(8),GETDATE(),112),5) SET @SlipNo = @@IDENTITY INSERT InDetails VALUES(@SlipNo,1,'A0017',500,6) INSERT InDetails VALUES(@SlipNo,2,'B0019',200,12) INSERT InDetails VALUES(@SlipNo,3,'A0027',1500,1) GO DECLARE @SlipNo int INSERT InHeads VALUES(Convert(char(8),GETDATE(),112),4) SET @SlipNo = @@IDENTITY INSERT InDetails VALUES(@SlipNo,1,'C0017',1500,6) GO SELECT * FROM InDetails /* ** SQL Identity Property¿¡ °­Á¦·Î µ¥ÀÌÅÍ ³Ö±â, SET IDENTITY_INSERT table_name ON ±¸¹® »ç¿ë */ CREATE TABLE Products ( ProductID int IDENTITY(10000, 1) Primary Key, ProductName CHAR(20) ) GO INSERT Books VALUES('À屿»ê') INSERT Books(BookName) VALUES('µ¿ÀǺ¸°¨') GO --SET IDENTITY_INSERT ~ ONÀ¸·Î »õ·Î¿î ·Î¿ìÀÇ »ðÀԽô ¹Ýµå½Ã Ä÷³¸íÀ» ¸í½ÃÇØ ÁÖ¾î¾ß ÇÑ´Ù. SET IDENTITY_INSERT Books ON INSERT Books(BookID, BookName) VALUES(9999, 'Źé»ê¸Æ') /* -- SQL IDENTITY ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ Identity Ä÷³ÀÇ »ý¼º, ¹Ýµå½Ã INTO ±¸¹®À¸·Î ¼öÇàÇÏ¿©¾ß ÇÑ´Ù. -- IDENTITY ÇÔ¼ö´Â Àӽà Å×À̺íÀ̳ª ½Ç Å×ÀÌºí¿¡ Àû¿ëÇÒ ¼ö ÀÖ´Ù. */ SELECT IDENTITY(int,1,1) as Seq,stor_id,qty INTO #Sales FROM Pubs.dbo.Sales SELECT * FROM #Sales GO /* ** SQL CASE ÇÔ¼öÀÇ »ç¿ë */ SELECT stor_id, ord_num, ord_date, qty, Class = Case When (Qty<20) then 'Small' When (Qty>40) then 'Large' Else 'Middle' End FROM Pubs.dbo.Sales GO /* ** SQL CAST¿Í CONVERTÀÇ »ç¿ë */ SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM Pubs.dbo.titles WHERE CAST(ytd_sales AS char(20)) LIKE '3%' GO SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales FROM Pubs.dbo.titles WHERE CONVERT(char(20), ytd_sales) LIKE '3%' GO /* ** SQL Coalesce ½Ã½ºÅÛ ÇÔ¼ö »ç¿ë */ Use Tempdb GO CREATE TABLE wages ( emp_id tinyint identity, hourly_wage decimal NULL, salary decimal NULL, commission decimal NULL, num_sales tinyint NULL ) GO INSERT wages VALUES(10.00, NULL, NULL, NULL) INSERT wages VALUES(20.00, NULL, NULL, NULL) INSERT wages VALUES(30.00, NULL, NULL, NULL) INSERT wages VALUES(NULL, 10000.00, NULL, NULL) INSERT wages VALUES(NULL, 20000.00, NULL, NULL) INSERT wages VALUES(NULL, 30000.00, NULL, NULL) INSERT wages VALUES(NULL, NULL, 15000, 3) INSERT wages VALUES(NULL, NULL, 25000, 2) INSERT wages VALUES(NULL, NULL, 14000, 4) GO SET NOCOUNT OFF GO SELECT emp_id, CAST(COALESCE(hourly_wage * 40 * 52, salary, commission * num_sales) AS money) AS 'Total Salary' FROM wages GO /* ** SQL ÆÄ¶ó¸ÞÅ͸¦ °¡Áø ½Ã½ºÅÛ ¸Þ½ÃÁöÀÇ Ãß°¡¿Í FORMATMESSAGE ÇÔ¼ö »ç¿ë */ sp_addmessage 50006, 16, '%s Å×ÀÌºí¿¡ ID´Â %1dÀÌ »èÁ¦ µÇ¾ú½À´Ï´Ù.' DECLARE @var1 VARCHAR(100) SELECT @var1 = FORMATMESSAGE(50006, 'Sales', 55) SELECT @var1 GO /* -- SQL GETANSINULL ÇÔ¼ö¸¦ ÅëÇÏ¿© ÁöÁ¤ÇÑ µ¥ÀÌÅͺ£À̽º¿¡ ANSINULLÀÌ È°¼ºÈ­ µÇ¾î ÀÖ´ÂÁö È®ÀÎ. -- ANSI NULL DEFAULT°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é 1 ÀÌ ¹ÝȯµÇ°í, ¼³Á¤µÇ¾î ÀÖÁö ¾Ê´Ù¸é 0 ÀÌ ¹ÝȯµÈ´Ù. */ SET ANSI_NULL_DFLT_ON OFF SELECT GETANSINULL('pubs') GO SET ANSI_NULL_DFLT_ON ON SELECT GETANSINULL('pubs') GO /* ** SQL NEWID ÇÔ¼öÀÇ »ç¿ë¹ý, uniqueidentifier µ¥ÀÌÅÍÇü¿¡ ±âº»°ªÀ¸·Î ¼³Á¤ */ SELECT NEWID() SELECT NEWID() GO CREATE TABLE TestNewID (id int, GUID uniqueidentifier DEFAULT NEWID()) GO INSERT TestNewID(id) Values(1) INSERT TestNewID(id) Values(2) SELECT * FROM TestNewID GO /* ** SQL PARSENAME ÇÔ¼ö·Î ¿ÀºêÁ§Æ®¸íÀÇ ÁöÁ¤ÇÑ ºÎºÐÀÇ ¿ÀºêÁ§Æ®¸íÀ» Á¶È¸ */ SELECT PARSENAME('pubs.dbo.authors', 1) AS 'Object Name' , PARSENAME('pubs.dbo.authors', 2) AS 'Owner Name' , PARSENAME('pubs.dbo.authors', 3) AS 'Database Name' , PARSENAME('pubs.dbo.authors', 4) AS 'Server Name' Go /* ** SQL DBCC PINTABLE ±¸¹®ÀÇ ÆÄ¶ó¸ÞÅ͸¦ À§ÇØ @OBJECT_ID¿Í @DB_ID ÇÔ¼ö¸¦ ÀÌ¿ë */ DECLARE @db_id int, @tbl_id int USE pubs SET @db_id = DB_ID('pubs') SET @tbl_id = OBJECT_ID('pubs..authors') DBCC PINTABLE (@db_id, @tbl_id) /* -- SQL pubs µ¥ÀÌÅͺ£À̽ºÀÇ pr_info Å×À̺íÀÇ ÅØ½ºÆ® µ¥ÀÌÅ͸¦ ½ÃÀÛ Æ÷ÀÎÅ͸¦ binary16ÀÚ¸® -- ¾ò¾î UPDATETEXT ±¸¹®À¸·Î ÀϺΠÀ§Ä¡ÀÇ µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÑ´Ù. -- UPDATETEXT pub_info.pr_info @ptrval 10 2 '__AA__' ±¸¹®Àº -- ¹ÞÀº Æ÷ÀÎÆ®·ÎºÎÅÍ 10 ¹øÂ° ¹ÙÀÌÆ®ÀÇ µÎÀÚ¸®¸¦ __AA__ ·Î ´ëÄ¡ÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù. */ USE pubs GO EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true' GO SELECT pr_info FROM pub_info WHERE pub_id = '0877' DECLARE @ptrval binary(16) SELECT @ptrval = TEXTPTR(pr_info) FROM pub_info WHERE pub_id = '0877' UPDATETEXT pub_info.pr_info @ptrval 10 2 '__AA__' SELECT pr_info FROM pub_info WHERE pub_id = '0877' GO /* -- SQL º¯¼ö @MyCounter¿¡ °ªÀ» ´ëÀÔÇÏ´Â ¹æ¹ýÀº 2°¡Áö°¡ ÀÖ´Ù. -- ù¹øÂ°´Â SET ¹®À» »ç¿ëÇÏ¿© º¯¼ö¿¡ °ªÀ» ´ëÀÔÇÒ ¼ö ÀÖ´Ù. -- µÑ°´Â SELECT ¹®À» »ç¿ëÇÏ¿© º¯¼ö¿¡ °ªÀ» ´ëÀÔ ÇÒ ¼ö ÀÖ´Ù. */ DECLARE @MyCounter INT SET @MyCounter = 1 -- ¶Ç´Â DECLARE @MyCounter INT SELECT @MyCounter = 1 /* ** ANYÀÇ »ç¿ë */ CREATE TABLE #A (ID int) INSERT #A VALUES(1) INSERT #A VALUES(7) INSERT #A VALUES(9) CREATE TABLE #T (ID int) INSERT #T VALUES(4) INSERT #T VALUES(6) INSERT #T VALUES(8) SELECT * FROM #A WHERE ID > ANY ( SELECT ID FROM #T)