2011-03-07 2 views
0

varchar(800) 열은 한 테이블에서 기본 키이고 다른 테이블에서 기본 키입니다.varchar 필드 길이가 잘못보고되었습니다.

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGGTo8JmCWDydNA19MrL4aON-02pA&url=http://creativity-online.com/news/chrysler-nokia-target-among-winners-of-teds-first-ad-contest/149189 
: -

문제는 내가 len(field)을 할 경우이다 나는 텍스트를 복사/붙여 넣기 경우는 186을 말한다 내가 메모장 또는 뭔가를 확인, 나는 198 개 문자

이 내용은 이것이다

길이 차이에 대한 아이디어가 있으십니까?

EDIT 당신은 맞다. 나는 웹 기반 SQL 관리자를 사용하고 있었고 그것은 나를 속였습니다.

감사합니다.

+0

더 많은 정보를 필요로한다. 어떻게 테이블에 넣는거야? – richard

+1

* len' - SQL Server 또는 다른 곳에서 * 정확하게 * 수행하고 있습니까? URL에 해당 행의 정확한 내용은 무엇입니까? 스크린 샷으로 질문을 수정하십시오. 당신은 질문을 무효화하는 데이터베이스 외부에서 HTML 인코딩을 볼 것입니다. 데모를 위해 이것을 시도해보십시오 :'SELECT field, LEN (field) from MyTable WHERE ID = 123'. –

+0

@ p.campbell - len 문제에 대해 정확했습니다. – sirrocco

답변

3

데이터베이스에서 URL을 읽은 후 URL을 인코딩합니까?

moriartyn은 SQL 서버 len이 하나의 문자로 &을 계산한다고 제안했으나 그렇지 않습니다. 그러나 필드의 실제 콘텐츠가 HTML로 인코딩되지 않고 페이지에 삽입 될 때 HTML 인코딩 된 경우 각 & 문자는 &으로 변경되며 추가 길이가 고려됩니다.

2

내 생각 엔 텍스트에 &이 3 개 있기 때문에 SQL Server의 len 함수는 그 문자를 단지 & 또는 한 문자로 계산하고 메모장에서 각각 5 개로 계산하면 12 개의 여분을 줄 것입니다 그 수.

+0

아니요, 그렇지 않습니다. SQL Server의 len 함수는 HTML 엔터티를 단일 문자로 계산하지 않습니다. HTML 데이터 정렬은 없습니다. 그러나 내용이 실제로 HTML 엔티티를 포함하지 않으며 데이터베이스에서 읽은 후 HTML로 인코딩된다는 것일 수도 있습니다. – Guffa

+0

@Guffa 알겠습니다. 그것을 설명해 주셔서 감사합니다. – nickmoriarty

0

186 :

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGGTo8JmCWDydNA19MrL4aON-02pA&url=http://creativity-online.com/news/chrysler-nokia-target-among-winners-of-teds-first-ad-contest/149189 

198 :

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGGTo8JmCWDydNA19MrL4aON-02pA&url=http://creativity-online.com/news/chrysler-nokia-target-among-winners-of-teds-first-ad-contest/149189 

참고 && : 그 중 3, &는 4 자 이상 = 12

당신은 둘 다 동등하게 비교하거나 비교하는 것입니다 같은 줄. SQL에서

:

SELECT 
    LEN('http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGGTo8JmCWDydNA19MrL4aON-02pA&url=http://creativity-online.com/news/chrysler-nokia-target-among-winners-of-teds-first-ad-contest/149189'), 
    LEN('http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGGTo8JmCWDydNA19MrL4aON-02pA&url=http://creativity-online.com/news/chrysler-nokia-target-among-winners-of-teds-first-ad-contest/149189') 
관련 문제