2020. 1. 23. 10:15

[MSSQL] COLLATE 대소문자 구분

COLLATE 절은 char, varchar, text, nchar, nvarcharntext 데이터 형식에만 적용할 수 있습니다.

where 조건에서 적용

-- 대소문자 구문(영어/미국)
SELECT TOP(1) * FROM tblUsers WHERE username = ? COLLATE SQL_Latin1_General_CP1_CS_AS
-- 대소문자 구분안함(영어/미국)
SELECT TOP(1) * FROM tblUsers WHERE username = ? COLLATE SQL_Latin1_General_CP1_CI_AS

table 생성시에 설정하거나 alter table로 변경

ALTER TABLE Table1
ALTER COLUMN Column1 VARCHAR(200)
COLLATE SQL_Latin1_General_CP1_CS_AS -- 대소문자 구분(영어/미국)

ALTER TABLE Table1
ALTER COLUMN Column1 VARCHAR(200)
COLLATE SQL_Latin1_General_CP1_CI_AS -- 대소문자 구분안함(영어/미국)

사용가능한 Collation 명칭 참고

COLLATE SQL_Latin1_General_CP1_CS_AS

Codepage 데이터 정렬에 사용되는 코드 페이지를 표시하는 1~4자리 숫자를 지정합니다. CP1은 코드 페이지 1252를 지정하며 다른 모든 코드 페이지에 대해서는 완전한 코드 페이지 번호를 지정합니다. 예를 들어 CP1251은 코드 페이지 1251을 지정하며 CP850은 코드 페이지 850을 지정합니다.

CaseSensitivity CI는 대/소문자를 구분하지 않도록 지정하고 CS는 대/소문자를 구분하도록 지정합니다.

AccentSensitivity AI는 악센트를 구분하지 않도록 지정하고 AS는 악센트를 구분하도록 지정합니다.

BIN 사용할 이진 정렬 순서를 지정합니다.


사용가능한 Collation 확인
SELECT name, description FROM fn_helpcollations()

SQL_Latin1_General_CP1_CS_AS is the default collation for the English (United States) locale
SQL_Latin1_General_CS_AS is the default collation for any other English locale, such as English (United Kingdom)

2020. 1. 16. 09:44

[Coldfusion] GET, POST 원시데이타 처리 getPageContext().getRequest()

requestObj = getPageContext().getRequest();
writeDump(requestObj.getParameter('a')); //일반 변수 시 사용, a 변수에 대한 처음 한개의 값을 가져옴
writeDump(requestObj.getParameterValues('a')); //같은 변수명의 값이 여러개인 경우 사용, a 변수에 대한 모든 값을 가져옴(배열)
writeDump(requestObj.getParameterMap()); //전체 수신 data를 struct로 가져옴.
writeDump(requestObj);

//getParameterMap()의 struct는 data.key 형태로 사용이 되지 않는다. 반드시 data['key']로 사용해야 하고.
//각 key에 들어있는 array는 cf11용 메소드 방식이 사용되지 않는다 ㅡㅡ;
//data['key'].len() -> 오류발생, arraylen(data['key']) 형태로 써야한다.


참고 : https://wyseburn.tistory.com/entry/Coldfusion-%EA%B0%99%EC%9D%80-%EC%9D%B4%EB%A6%84%EC%9D%98-form-element-%EC%B2%98%EB%A6%AC-%EB%B0%A9%EB%B2%95

참고 : https://wyseburn.tistory.com/entry/%EC%BD%9C%EB%93%9C%ED%93%A8%EC%A0%84Coldfusion-%EB%A9%94%EB%AA%A8

2020. 1. 9. 10:14

[jQueryUI Tab] Page Refresh 후에도 Tab이 변하지 않는 방법

var currentTab = window.location.hash.substring(1);
var tabIndex = ["RequiredDocuments", "AdditionalDocuments"];
$( "#tabs" ).tabs({
    create: function(event, ui) {
        var index = ui.tab.index();
        window.location.hash = tabIndex[index];
    },
    activate: function(event, ui) {
        var index = ui.newTab.index();
        window.location.hash = tabIndex[index];
    },
    active: currentTab.length !== 0 && tabIndex.hasOwnProperty(currentTab) ? tabIndex.indexOf(currentTab) : 0
});

구버전은 아래처럼.

var currentTab = window.location.hash.substring(1);
var tabIndex = ["RequiredDocuments", "AdditionalDocuments"];
$("#tabs").tabs({
    show: function(event, ui) {
        window.location.hash = tabIndex[ui.index];
    },
    selected: currentTab.length !== 0 && tabIndex.hasOwnProperty(currentTab) ? tabIndex.indexOf(currentTab) : 0
});

 

2019. 12. 26. 09:02

[Jquery] Textarea 높이 자동

$("textarea").each(function() {
var offset = this.offsetHeight - this.clientHeight;
var resizeTextarea = function(el) {
$(el).css('height', 'auto').css('height', el.scrollHeight + offset);
};
$(this).on('keyup input focusin', function() { resizeTextarea(this); });
});