๋ฌธ์ ๋ ์์ฑ๋ SQL์ด SQL ํ์ค์ ๋ฐ๋ฅด์ง ์์ ์ค๋ฅ๊ฐ ๋ํ๋ฉ๋๋ค.
๊ฒฌ๋ณธ
์
๋ฐ์ดํธ TOP(1) "Checkmarx"."dbo"."๋นํธ ํ
์คํธ ํ
์ด๋ธ"
SET "ํ
์คํธ"='test5'
์ด๋์ "ID"=4
๊ทธ๋ฆฌ๊ณ "ํ
์คํธ"='ํ
์คํธ4'
AND "๋นํธ ์ ํ"=b'0';
/* SQL ์ค๋ฅ(102): '0'์ ๊ฐ๊น์ด ๊ตฌ๋ฌธ์ด ์๋ชป๋์์ต๋๋ค. */
๊ทธ ์ด์ ๋ "bit type"=b'0'์ด ์ฌ๋ฐ๋ฅด์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค. "b"๊ฐ ์์ด์ผ ํฉ๋๋ค!
์
๋ฐ์ดํธ TOP(1) "Checkmarx"."dbo"."๋นํธ ํ
์คํธ ํ
์ด๋ธ"
SET "ํ
์คํธ"='test5'
์ด๋์ "ID"=4
๊ทธ๋ฆฌ๊ณ "ํ
์คํธ"='ํ
์คํธ4'
AND "๋นํธ ์ ํ"='0';
์ด๊ฒ์ "b"๊ฐ ์๋ ์๋์ผ๋ก ์์ ๋ ๊ตฌ๋ฌธ์
๋๋ค. ์ด๊ฒ์ "query" ์ต์
์์ ์ ์์ ์ผ๋ก ์คํ๋ ์ ์์ผ๋ฉฐ ํ
์คํธ๋ 'test5'๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์
๋ฐ์ดํธ๋ฉ๋๋ค.
์ด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง๋๋ก Microsoft SQL ์๋ฒ์ ๋ํ ์ฌ๋ฐ๋ฅธ SQL ๊ตฌ๋ฌธ์ ์์ฑํ๋๋ก ๋๊ตฌ๋ฅผ ๋ณ๊ฒฝํ์ญ์์ค. ๋์ค์ ํ์ํ ๊ฒฝ์ฐ ๋ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ฝ๋๋ฅผ ์ดํด๋ณผ ์ ์์ต๋๋ค.
HeidiSQL ๋ฒ์ :
๋ฒ์ 9.5.0.5278 ์ต์ ๋น๋
๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
๋ฐ ๋ฒ์ :
ํ์คํ์ง ์์ง๋ง ๊ตฌ๋ฌธ์ด Microsoft SQL์ด ์๋ ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํฉํ ์ ์์ผ๋ฏ๋ก DB๋ฅผ ์ธ๊ธํ๋ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
MSSQL ์๋ฒ 2012์ ์ต์ ๋น๋ 11.0.7469.6
๊ด๋ จ ์์
์๋
,
dbconnections.pas ํ์ผ์ ๋ฌธ์ ๊ฐ ์๋ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ 'b'๊ฐ ์ฌ์ฉ๋ ํ์ด 3๊ฐ ์์ต๋๋ค. ์ค 7290์ MYSQL์ ๊ณ ์ ํ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ์ผ๋ฐ ๊ธฐ๋ฅ์ ์ค 6628์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. MSSQL์ ๊ฒฝ์ฐ 'b'๋ฅผ ์ถ๊ฐํ๋ฉด ์ ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ด ์ถ์ฒ์
๋๋ค. ์ ๋ฒ์ ์ ๋น๋ํ ํ๊ฒฝ์ด ์๊ธฐ ๋๋ฌธ์ ํ
์คํธํ ์ ์์ต๋๋ค. ์ด๊ฒ ๋์์ด ๋๊ธธ ๋ฐ๋๋ค!
๋๋ ๋ํ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ธฐ๋ณธ ํค๊ฐ์๋ MSSQL ํ ์ด๋ธ์ ํ๋๋ฅผ ํธ์ง ํ ๋ ํญ์ ๋ฐ์ํฉ๋๋ค.
MSSQL์์๋ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ง๋ง ๊ธฐ๋ณธ ํค๊ฐ ์์ต๋๋ค.
UserName์ ๋ณ๊ฒฝํ๋ฉด ๋ชจ๋ ๋นํธ ํ๋๊ฐ "T,rue" ๋๋ "F,alse"๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.
ํ์ง๋ง ์๋ก ๊ณ ์นจ์ ํ๋ฉด 1๊ณผ 0์ด ๋ฉ๋๋ค.
ํ
์ด๋ธ ์์ฑ "์ฌ์ฉ์ ํ์ผ"(
"์ฌ์ฉ์ ID" INT๊ฐ NULL์ด ์๋๋๋ค.
"UserActive" BIT NULL DEFAULT NULL,
"userrealname" VARCHAR(100) NULL DEFAULT NULL,
"์ฌ์ฉ์ ์ด๋ฆ" VARCHAR(15) NULL์ด ์๋๋๋ค.
"๋น๋ฐ๋ฒํธ" VARCHAR(32) NULL DEFAULT NULL,
"ViewRight" BIT NULL DEFAULT NULL,
"AddRight" BIT NULL DEFAULT NULL,
"EditRight" BIT NULL DEFAULT NULL,
"DeleteRight" BIT NULL DEFAULT NULL,
"UserActivityRight" BIT NULL ๊ธฐ๋ณธ๊ฐ NULL,
"ManagmentRight" BIT NULL DEFAULT NULL,
๊ธฐ๋ณธ ํค("์ฌ์ฉ์ ์ด๋ฆ"),
๊ณ ์ ์ธ๋ฑ์ค "๊ณ ์ "("์ฌ์ฉ์ ID")
)
;
์ด๊ฒ์ MSSQL 13.0(SQL Server 2016)์ด ์๋ HeidiSQL ๋ฒ์ 11.0.0.6049(64๋นํธ)์์ ์ฌ์ ํ ๋ฌธ์ ์ ๋๋ค.
๋ฌธ์์ ๋ฐ๋ฅด๋ฉด 0
๋ฐ 1
์ซ์๋ก ์ถฉ๋ถํด์ผ ํฉ๋๋ค.
https://docs.microsoft.com/en-us/sql/t-sql/data-types/constants-transact-sql?view=sql-server-2016#bit -constants
๋๋ (0)
๋ฐ (1)
$ ์ ๊ฐ์ด ๊ดํธ๋ก ๋ฌถ์ด๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
@ansgarbecker ์ ? ๐
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ,
dbconnections.pas ํ์ผ์ ๋ฌธ์ ๊ฐ ์๋ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ 'b'๊ฐ ์ฌ์ฉ๋ ํ์ด 3๊ฐ ์์ต๋๋ค. ์ค 7290์ MYSQL์ ๊ณ ์ ํ ๊ฒ์ผ๋ก ๋ณด์ด๋ฉฐ ์ผ๋ฐ ๊ธฐ๋ฅ์ ์ค 6628์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๊ฐ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. MSSQL์ ๊ฒฝ์ฐ 'b'๋ฅผ ์ถ๊ฐํ๋ฉด ์ ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ด ์ถ์ฒ์ ๋๋ค. ์ ๋ฒ์ ์ ๋น๋ํ ํ๊ฒฝ์ด ์๊ธฐ ๋๋ฌธ์ ํ ์คํธํ ์ ์์ต๋๋ค. ์ด๊ฒ ๋์์ด ๋๊ธธ ๋ฐ๋๋ค!