שגיאה ב- TSQL כאשר אני מריץ את השאילתה הבאה על SQL Server 2000 מוחזרת לי שגיאה:
:השאילתה SELECT * FROM tbl_xxx WHERE username='yyy' and password='zzz' :השגיאה Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC SQL Server Driver][SQL Server]The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
לפי דעתי אתה טועה SQL Server חייב לבצע את כל מה ש- Access יכול לבצע, ולפיכך חייבת להיות אפשרות לבצע השוואה של שדות מסוג text ו- ntext. זה פשוט לא הגיוני שב- Access אפשר להשוות טקסט, אבל ב- SQL Server אי אפשר…
אבל אחד השדות הוא יוניקוד נסה להשוות ב-JS למשל יוניקוד עם רגיל זה שני מחרוזות שונים אבל בהדפסה שלהם אותו דבר לכן אני חושב כך… ךא יצא לי לעבוד הרבה עם SQL SERVER (כמעט שלו) אבל יש הבדל בין סוגי שדות
הוא לא טועה ב-MSSQL שדה מסוג varchar יכול להכיל עד 8000 תווים. מעבר לזה – יש את שדות ה-text, ntext שיכולים להכיל הרבה יותר, אבל גם מאוד לא יעיל להשתמש בהם כי פיזית הם נשמרים מחוץ לטבלה והגישה אליהם נעשית באמצעות "מצביע". לכן לא ניתן להשוות שדות מסוג זה, אבל כן ניתן לבצע עליהם פעולת like וכו'.
19 תשובות
השאלה לא ברורה
אין ב-tsql מעברי שורה. יש רק בתצוגה של הטקסט.
אם זה HTML – אז BR.
שגיאה ב- TSQL
כאשר אני מריץ את השאילתה הבאה על SQL Server 2000 מוחזרת לי שגיאה:
:השאילתה
SELECT * FROM tbl_xxx WHERE username='yyy' and password='zzz'
:השגיאה
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator.
password זו מילה שמורה
יכול להיות שזו מילה שמורה
אבל זו לא הבעיה.
ניסיתי לתחום את password בסוגריים מרובעים כך [password] אבל זה לא עוזר.
עוד הצעות?
אתה לא יכול להשוות ככה שדה מסוג
text או ntext.
ובכלל – למה אתה שומר סיסמא בדשה text? זה כמו שבאקסס תשמור אותה ב-memo.
שדה נסוג varchar מספיק לך.
זו סתם דוגמא
איך בכל מקרה משווים שדה מסוג text או ntext?
אם אני לא טועה אי אפשר
כי nText זה יוניקוד ו-text זה רגיל
לפי דעתי אתה טועה
SQL Server חייב לבצע את כל מה ש- Access יכול לבצע, ולפיכך חייבת להיות אפשרות לבצע השוואה של שדות מסוג text ו- ntext.
זה פשוט לא הגיוני שב- Access אפשר להשוות טקסט, אבל ב- SQL Server אי אפשר…
אבל אחד השדות הוא יוניקוד
נסה להשוות ב-JS למשל יוניקוד עם רגיל זה שני מחרוזות שונים אבל בהדפסה שלהם אותו דבר
לכן אני חושב כך… ךא יצא לי לעבוד הרבה עם SQL SERVER (כמעט שלו) אבל יש הבדל בין סוגי שדות
עזרה בהגדרת שדות ב- MSSQL
כיצד נקרא ב- MSSQL סוג הנתונים "מספור אוטומטי"?
אני לא מצאתי.
שאלות על תאריכים ב- TSQL
1. מהי הפונקציה ב- TSQL שמחזירה תאריך בלבד (ללא שעה)?
2. ב- SQL הייתי כותב תאריכים כך #02/05/2004#, ב- TSQL זה לא עובד, אז ניסיתי '02/05/2004' וזה עדיין לא עובד. למישהו יש פיתרון?
תודה מראש!
מוזר שעל התאריך 02/05/2004 זה עובד
ניסיתי את זה על התאריך 30/04/2004 וזה לא עבד…
הוא לא טועה
ב-MSSQL שדה מסוג varchar יכול להכיל עד 8000 תווים.
מעבר לזה – יש את שדות ה-text, ntext שיכולים להכיל הרבה יותר, אבל גם מאוד לא יעיל להשתמש בהם כי פיזית הם נשמרים מחוץ לטבלה והגישה אליהם נעשית באמצעות "מצביע".
לכן לא ניתן להשוות שדות מסוג זה, אבל כן ניתן לבצע עליהם פעולת like וכו'.
ב-MSSQL זה לא סוג נתונים
אלא תכונה.
בחר כסוג השדה מספר שלם, ובתכונות השדה תסמן yes ל-IDENTITY
הפורמט צריך להיות mm/dd/yyyy
תודה! – מישהו יכול לענות על שאלה 1?
מהי הפונקציה ב- TSQL שמחזירה תאריך בלבד (ללא שעה)?
אה הבנתי. תודה!
אין חיה כזו
תצטרך לפרמט את התאריך לבד.